首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到关键字参数为'{'slug':''}‘’的‘/Reverse slug’的slug

找不到关键字参数为'{'slug':''}‘’的‘/Reverse slug’的slug
EN

Stack Overflow用户
提问于 2019-12-04 12:29:20
回答 2查看 66关注 0票数 0

我正在运行一个显示网站的django项目。这是我的views.py

代码语言:javascript
复制
def news_desc(request,slug):
# request.session.flush()
news=NewsPort.objects.get(news_title_slug=str(slug))
return render(request,'accounts/newsdesc.html',{'news':news, 'slug':slug})

urls.py

代码语言:javascript
复制
urlpatterns = [
path('signup/', views.signup, name='signup'),
path('login/', views.user_login, name='user_login'),
path('logout/', views.user_logout, name='user_logout'),
# path('', views.index, name='index'),
path('<int:pk>/',views.index_with_pk, name='index_with_pk'),
path('profile/<int:pk>/',views.profile_detail,name='profile_detail'),
path('profile/<int:pk>/edit/',views.profile_edit,name='profile_edit'),
path('profile/<int:pk>/wallet/',views.wallet_view,name='wallet_view'),
path('profile/<int:pk>/wallet/transac',views.history_transac,name='history_transac'),
path('news/all/', views.news_all, name='news_all'),
path('profile/<int:pk>/maps/',views.map_view,name='map_view'),
path('news/<slug:slug>/',views.news_desc,name='newsdesc'),

]

当我运行时,我得到一个错误:

代码语言:javascript
复制
NoReverseMatch at /
Reverse for 'newsdesc' with keyword arguments '{'slug': ''}' not found. 1 pattern(s) tried: ['accounts/news/(?P<slug>[-a-zA-Z0-9_]+)/$']

错误发生在模板渲染过程中。我无法登录、注册和注销。

下面是我的主urls.py:

代码语言:javascript
复制
    router=routers.DefaultRouter()

router.register('profiles',views.ProfileView)
router.register('requests',views.RequestsView)
router.register('transactions',views.TransactionView)
router.register('login',views.LoginView)
router.register('wallets',views.WalletView)
router.register('purchasedtickets',views.PurchasedTicketView)
router.register('grocerycontents',views.PurchasedContentView)
router.register('merchants',views.MerchantView)
router.register('merchantitems',views.MerchantItemView)
router.register('groceries',views.GroceryView)
router.register('commodityitems',views.CommodityItemView)
router.register('transview',views.TransactionsView,base_name='Transactions_view')
router.register('tokenidview',views.TokenIDView,base_name='Token_view')
router.register('barcodetransfer',views.BarCodeView)
router.register('apptransfer',views.AppTransferView)


admin.autodiscover()

urlpatterns = [
    path('admin/', admin.site.urls),
    path('home/',include(router.urls)),
    path('', views.index, name='index'),
    path('accounts/',include('accounts.urls'),name='accounts'),
    path('merchants/',include('merchants.urls'),name='merchants'),
    path('groceries/', include('groceries.urls'), name='groceries'),
    path('home/rest-auth/', include('rest_auth.urls')),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2019-12-04 12:40:22

问题出在views.index使用的模板中。这很可能是您迭代NewsPort集合并生成指向newsdesc的链接的方式。或者,您的数据包含一个空字符串。在这种情况下,您要么没有设置它,要么它是一个测试工件。

票数 0
EN

Stack Overflow用户

发布于 2019-12-04 13:19:06

正常的详细视图将如下所示

代码语言:javascript
复制
def news_desc(request,slug):
   news = get_object_or_404(NewsPort, slug=slug)
   return render(request,'accounts/newsdesc.html',{'news':news})

然后,您可以在列表视图中提供此详细信息视图url的链接,如下所示

代码语言:javascript
复制
<a href="{% url 'newsdesc' slug=slug %} ">Detail View</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59168969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档