Python 找不到参数“(“”,)”的“update_comment”的反转。尝试了1种模式:['comment\\/(?P[0-9]+)$]

Python 找不到参数“(“”,)”的“update_comment”的反转。尝试了1种模式:['comment\\/(?P[0-9]+)$],python,django,django-models,django-forms,django-templates,Python,Django,Django Models,Django Forms,Django Templates,我正在编写一个新闻网站的代码。现在我正在使用评论帖子功能进行详细说明。该问题显示: Reverse for 'update_comment' with arguments '('',)' not found. 1 pattern(s) tried: ['comment\\/(?P<news_pk>[0-9]+)$'] 以下是新闻/url.py 下面是操作/views.py 以下是news_detail.html: {% if user.is_authenticated %} &l

我正在编写一个新闻网站的代码。现在我正在使用评论帖子功能进行详细说明。该问题显示:

Reverse for 'update_comment' with arguments '('',)' not found. 1 pattern(s) tried: ['comment\\/(?P<news_pk>[0-9]+)$']
以下是新闻/url.py

下面是操作/views.py

以下是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>
参考:

固定的: 你的代码是正确的。错误提示:

 arguments '('',)' not found. 

 arguments '('',)'
参考:

固定的: 你的代码是正确的。错误提示:

 arguments '('',)' not found. 

 arguments '('',)'
您没有将news对象传递到news_detail.html的上下文中。只需传递新闻并在模板中执行类似{{news.title}}的操作,而不是{{title},就可以大大简化视图:

现在news.pk将用作{%url…%}标记的参数。我还确保,如果在代码中找不到新闻对象,将生成404错误,它将崩溃。

您没有将新闻对象传递到news\u detail.html的上下文中。只需传递新闻并在模板中执行类似{{news.title}}的操作,而不是{{title},就可以大大简化视图:

现在news.pk将用作{%url…%}标记的参数。我还确保,如果在代码中找不到新闻对象,将生成404错误,它将崩溃。

在url.py中使用url il代替路径,它可能会工作

尝试如下urlr“^create\U order/?p\d*$”,views.createOrder,name='create\U order'

使用url.py中的url il代替路径,它可能会起作用



尝试如下url“^create\u order/?p\d*$”,views.createOrder,name='create\u order'

在url中尝试设置news\u pk=news.pk。尝试替换路径“comment/”。。。路径为“comment/”,则。。。在operations/urlsStill not work.try path“^$”中,包括“operation.urls”、“operation”,namespace=operation,仍然不起作用。请在url中尝试设置news\u pk=news.pk。尝试替换路径“comment/”。。。路径为“comment/”,则。。。在operations/urlsStill not work.try path“^$”中,包括“operation.urls”、“operation”,namespace=operation,仍然不起作用。如果我使用action={%url”operation:update_comment“1%”,它就起作用了。我可以打开详细信息页面而不出错。似乎我没有成功地将new.id传递给模板。如果我使用action,它看起来很奇怪={%url'操作:更新\u注释'1%},它可以工作。我可以无错误地打开详细页。似乎,我没有成功地将new.id传递给模板。还有一个问题,先生,虽然现在没有错误警告,我可以打开详细页。但是当我发布评论时,所有评论都消失了,详细页中的评论列表消失了,但我可以将所有评论包括新的数据库中的注释。你知道这个问题吗?那是因为你没有更新注释视图中呈现上下文中的所有注释。因此,要么添加注释,要么不呈现注释,而是重定向到news.pk中传递的newsDetailView。我会更倾向于重定向DRYDone!非常感谢!今天的最后一个问题。;我添加udate_comment中呈现上下文中的所有_注释都有效。但当我尝试重定向它时,它失败了。我将其重定向如下:返回重定向“newsDetailView”,news='news'错误说明:找不到“newsDetailView”的反向。“newsDetailView”不是有效的视图函数或模式名称。您能给我一些提示吗?非常感谢!!您可以't不能直接重定向到视图您必须使用url构造函数。redirectreverse'news:news\u detail',kwargs={'news\u pk':news.pk}还有一个问题,先生,虽然现在没有错误警告,我可以打开详细页面。但是当我发表评论时,所有的评论都消失了,详细页面中的评论列表消失了,但是我可以将所有的评论都包括在数据库中。你对这个问题有什么想法吗?那是因为你在渲染中没有所有的评论更新注释视图中的g上下文。因此,要么添加它,要么不渲染,要么重定向到传入news.pk的newsDetailView。我会选择重定向更多的DRYDone!非常感谢!今天的最后一个问题。我将所有注释添加到udate注释的渲染上下文中。这是可行的。但当我尝试重定向它时,它失败了。我重定向了它如下所示:return redirect'newsdailview',news='news'错误说明:找不到'newsdailview'的反向。newsdailview'不是有效的视图函数或模式名称。请给我一些线索。非常感谢!!您不能直接重定向到视图,您必须使用url构造函数。redirectreverse'news:news\u detail',kwargs={'news\u pk':news.pk}may,试试看。你能说得更自信些吗?may,试试看。你能说得更自信些吗?
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,
    })
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
        })
{% 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>
{% url 'some-url-name' arg1=v1 arg2=v2 %}
 arguments '('',)' not found. 

 arguments '('',)'
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,
    })