gpt4 book ai didi

python - 在 django 主页 url 中传递一个 id

转载 作者:太空宇宙 更新时间:2023-11-04 09:34:46 25 4
gpt4 key购买 nike

我正在尝试使用 django 创建博客。

我已截断帖子,您必须单击帖子才能阅读整篇帖子。基本上,您应该被重定向到 article.html,您可以在其中阅读整篇博文。如果我尝试转到我的 article.html/1,我可以阅读该帖子,但如果我尝试在我的主页中使用 blog.id 来正常工作,我得到一个错误。

这是我的 welcome.html 代码:

<a href="{%url 'article' blog.id %}"><p>{pic.post | truncatewords:10 }}</p></button></a>

我的网址如下:

urlpatterns=[
url(r'^$',views.welcome,name = 'welcome'),
url(r'^post/', views.post, name='post'),
url(r'^article/(\d+)', views.article, name='article'),
url(r'^search/', views.search_results, name='search_results'),
]
if settings.DEBUG:
urlpatterns+= static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)

我的看法

def welcome(request):
pics=Blog.objects.all()
return render(request, 'welcome.html', {"pics":pics})

def post(request):
form= PostForm(request.POST or None, request.FILES or None)
if form.is_valid():
post = form.save(commit=False)
post.save()
return redirect('welcome')
else:
form = PostForm()
return render(request, 'post.html', {"form":form})

def search_results(request):
if 'article' in request.GET and request.GET["article"]:
search_term = request.GET.get("article")
print(search_term)

blogs = Blog.search_results(search_term)
message = f"{search_term}"

return render(request 'search.html'{"message":message,"blogs": blogs})
else:
message = "You haven't searched for any term"
return render(request, 'search.html',{"message":message})

def article(request, blog_id):
pics =Blog.objects.filter(id = blog_id)
return render(request, 'article.html', {"pics":pics, id:blog_id})

但是,每当我尝试单击帖子以便将我重定向到 article.html(这样我就可以阅读整篇帖子)时,我都会收到以下错误:

NoReverseMatch at /
Reverse for 'article' with arguments '('',)' not found. 1 pattern(s) tried: ['article/(\\d+)']

我哪里错了?

最佳答案

在您的欢迎 View 中,您将博客查询集作为图片传递给上下文。

在您的模板中,您使用 pic.post 访问帖子内容。所以我假设你循环浏览这样的帖子 {% for pic in pics %}

如果是这样,您可以尝试使用 pic.id 访问 id,这样您的 url 将是:

{% url 'article' pic.id %}

关于python - 在 django 主页 url 中传递一个 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197230/

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