我正在为新闻网站编码,现在我将使用评论发布功能进行详细说明。
Reverse for 'update_comment' with arguments '('',)' not found. 1 pattern(s) tried: ['comment\\/(?P<news_pk>[0-9]+)$']
我已经尝试了很多方法和时间,但是仍然无法解决,而且我的代码也找不到任何错误,确实需要您的帮助。
评论发布功能位于news_detail.html中。我的项目 新闻中 有两个重要的应用程序, 操作 注释模型正在 运行
这是我的 根urls.py :
path('news', include(('news.urls', 'news'), namespace="news")),
path('', include(('operation.urls', 'operation'), namespace="operation")),
这是 news / urls.py
path('-<int:news_pk>', newsDetailView, name="news_detail")
这是operation / urls.py:
path('comment/<int:news_pk>', views.update_comment, name="update_comment"),
这是 news / view.py
def newsDetailView(request, news_pk):
news = News.objects.get(id=news_pk)
title = news.title
author = news.author_name
add_time = news.add_time
content = news.content
category = news.category
tags = news.tag.annotate(news_count=Count('news'))
all_comments = NewsComments.objects.filter(news=news)
return render(request, "news_detail.html", {
'title': title,
'author': author,
'add_time': add_time,
'content': content,
'tags': tags,
'category': category,
'all_comments': all_comments,
})
这是 operation / views.py
def update_comment(request, news_pk):
news = News.objects.get(id=news_pk)
comment_form = CommentForm(request.POST or None)
if request.method == 'POST' and comment_form.is_valid():
if not request.user.is_authenticated:
return render(request, 'login.html', {})
comments = comment_form.cleaned_data.get("comment")
news_comment = NewsComments(user=request.user, comments=comments, news=news)
news_comment.save()
return render(request, "news_detail.html", {
'news_comment': news_comment,
'news':news
})
这是news_detail.html:
{% if user.is_authenticated %}
<form method="POST" action="{% url 'operation:update_comment' news.pk %}">{% csrf_token %}
<textarea id="js-pl-textarea" name="comment"></textarea>
<input type="submit" id="js-pl-submit" value="发表评论"></input></form>
您没有将news
对象传递到 news_detail.html 的上下文中。您可以通过传递news
和执行{{ news.title }}
模板中的操作(而不是{{ title }}
)来大大简化视图:
def newsDetailView(request, news_pk):
news = get_object_or_404(News, id=news_pk)
tags = news.tag.annotate(news_count=Count('news'))
all_comments = NewsComments.objects.filter(news=news)
return render(request, "news_detail.html", {
'news': news,
'tags': tags,
'all_comments': all_comments,
})
现在news.pk
将作为{% url ... %}
标签的参数。我还确保如果news
找不到对象(在您的代码中,它将崩溃),则会生成404错误。
当我试图用id的帮助从db.html抓取物品时,它显示了一个错误,我不明白问题在哪里,请帮帮我 venue.html 意见。派克 网址。派克 听到另一个错误 显示页面未找到 因为这个路径('db/ ]
问题内容: 渲染时捕获到异常: 找不到带有参数’()’和关键字参数’{}’的’products.views.’filter_by_led’。 我能够从shell成功导入,并且可以正常工作,因此路径应该正确。 这是urls.py: 这是生成错误的地方: 我不明白,因为这可以在同一个文件中正常工作: 这是函数定义: 我不明白为什么Django会认为该函数无法为该函数找到Reverse。 我删除了所有文
问题内容: 我有这样的网址格式: 它在浏览器中可以正常工作,但是当我在外壳中执行此操作时,可以进行测试: 我感到恐惧: 我在这里想念什么? 问题答案: 你必须指定
我不确定我的代码有什么问题。我试着学习Spring Boot WebFlux。但我无法运行应用程序,因为我得到以下错误: com.thomsoncodes.todo.controller.ToDoController中构造函数的参数0需要一个类型为“com.thomsoncodes.todo.repository.ToDoRespository”的bean,但找不到该bean 疲惫@Autowir
我想从带有的URL中获取RSS代码,如果我在get注释中静态输入URL,一切正常,但使用动态URL时,我会得到一个错误。 我的接口服务: 并调用getRss方法: 我得到以下错误: 注意:我将下面一行添加到中,但它不起作用
我尝试连接多个设备进行调试,但Android Studio无法检测到其中任何一个,我已经检查了USB驱动程序是否已正确安装,并且开发人员模式已正确配置。我知道我的设备没有问题,因为我已经在其他计算机上尝试过它们,它们都可以正常工作。关于我该怎么做的任何想法? Android Studio版本:2.1.2在Windows 8.1的计算机上运行 更新:重新安装也不起作用 更新2:在重新安装我为Andr