gpt4 book ai didi

python - 使用参数 'get_post' 和关键字参数 '()' slug' : '{' }' not found 反转 'sample-post'

转载 作者:太空宇宙 更新时间:2023-11-04 03:18:43 24 4
gpt4 key购买 nike

我正在使用 Django 1.9。在实现基于类的 View 和 urlpatterns 时,我无法将我的特定链接重定向到相应的帖子。

settings/urls.py:

from django.conf.urls import url, include
from django.contrib import admin
from posts.views import Home


urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^post/', include("posts.urls")),
url(r'^$', Home.as_view(), name="blog_home"),
]

posts/urls.py

from django.conf.urls import url, include
from .views import Display


urlpatterns = [
url(r'^(?P<slug>\w+)/$', Display.as_view(), name="get_post"),
]

posts/views.py

class Display(View):
def get(self, request, slug):
params = {}
params['post'] = Post.objects.get(slug=slug)
return render(request, "blog/viewpost.html", params)

def post(self, request):
pass

我的错误如下:

error is shown in that image

最佳答案

当您使用 url 正则表达式时 r'^(?P<slug>\w+)/$ , \w匹配字母数字字符和下划线。但是,它不会匹配连字符 - .

因此,当您的模板查找带有 slug 的 URL 时等于sample-post ,上面的正则表达式将找不到匹配项。您应该尝试改用它:

urlpatterns = [
url(r'^(?P<slug>[-\w]+)/$', Display.as_view(), name="get_post"),
]

关于python - 使用参数 'get_post' 和关键字参数 '()' slug' : '{' }' not found 反转 'sample-post',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com