Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在此服务器上找不到请求的URL。德扬戈_Python_Django_Http Status Code 404 - Fatal编程技术网

Python 在此服务器上找不到请求的URL。德扬戈

Python 在此服务器上找不到请求的URL。德扬戈,python,django,http-status-code-404,Python,Django,Http Status Code 404,我尝试在页面上写评论,然后在页面上重定向,我在浏览器中有一个空窗口,并且 [b'未找到在此服务器上未找到请求的URL/post/add_comment/test_single_post/。']和断言错误:404!=302 在终端日志中。 我不明白为什么在这种情况下找不到页面(404) 看法 网址 urlpatterns=patterns(“”, url(r'^post/(?P\S+/$),SinglePost.as_view(), name='single_post'), url(r'^tag/

我尝试在页面上写评论,然后在页面上重定向,我在浏览器中有一个空窗口,并且
[b'未找到在此服务器上未找到请求的URL/post/add_comment/test_single_post/。

']
断言错误:404!=302
在终端日志中。 我不明白为什么在这种情况下找不到页面(404)

看法

网址

urlpatterns=patterns(“”,
url(r'^post/(?P\S+/$),SinglePost.as_view(),
name='single_post'),
url(r'^tag/(?P\S+/$),TagView.as_view(),
name='tagger'),
url(r'^post/add_comment/(?P\S+)/$),
'blog.views.add_comment',name=“commenter”),
url(r'^$',PostsList.as_view(),name=“all_posts”),
)
模板

<h3>Comments:</h3>
{% for comment in comments %}
    <p>{{ comment.added }} | {{ comment.author }}</p>
    <p>{{ comment.comment_text }}</p>
{% empty %}
    <p>There are no comments here yet. Be first :)</p>
{% endfor %}
<form action="/post/add_comment/{{ object.slug }}/" method="POST">
    {% csrf_token %}
    {{ form.non_field_errors }}
    <div class="fieldWrapper">
        {{ form.subject.errors }}
        <label for="id_author">Add your name:</label><br>
        {{ form.author|addclass:"form-control" }}
        <br/>
        <label for="id_comment_text">Add your comment here:</label><br>
        {{ form.comment_text|addclass:'form-control comment-textarea' }}
    </div>
    <br>
    <input type="submit" value="Add comment" class="btn btn-primary">
</form>
注释:
{注释%中的注释为%}
{{comment.added}}{{comment.author}}

{{comment.comment_text}

{%empty%} 这里还没有评论。第一名:)

{%endfor%} {%csrf_令牌%} {{form.non_field_errors}} {{form.subject.errors} 添加您的姓名:
{{form.author | addclass:“表单控制”}
在此处添加您的评论:
{{form.comment_text}addclass:'form-control comment textarea'}

谁能给我一个如何解决这个问题的答案吗?

你的
单发
regex捕获所有以“post/”开头的URL。将此url放置在模式的末尾:

urlpatterns = patterns('',
    url(r'^tag/(?P<slug>\S+)/$', TagView.as_view(),
                                    name='tagger'),
    url(r'^post/add_comment/(?P<slug>\S+)/$',
        'blog.views.add_comment', name="commenter"),
    url(r'^$', PostsList.as_view(), name="all_posts"),
    url(r'^post/(?P<slug>\S+)/$', SinglePost.as_view(),
                                    name='single_post'),
)

您有两个重叠的正则表达式:

url(r'^post/(?P<slug>\S+)/$', SinglePost.as_view(),
                                name='single_post'),
[...]
url(r'^post/add_comment/(?P<slug>\S+)/$',
url(r'^post/(?P\S+/$),SinglePost.as_view(),
name='single_post'),
[...]
url(r'^post/add_comment/(?P\S+)/$),

你应该把第一个改成不那么贪婪的,例如:
r'^post/(?p[^/]+)/$”
或者把它放在末尾。

再次感谢你,卡塔瓦兰。这是我的心不在焉。
urlpatterns = patterns('',
    url(r'^tag/(?P<slug>\S+)/$', TagView.as_view(),
                                    name='tagger'),
    url(r'^post/add_comment/(?P<slug>\S+)/$',
        'blog.views.add_comment', name="commenter"),
    url(r'^$', PostsList.as_view(), name="all_posts"),
    url(r'^post/(?P<slug>\S+)/$', SinglePost.as_view(),
                                    name='single_post'),
)
urlpatterns = patterns('',
    url(r'^post/(?P<slug>[\w-]+)/$', SinglePost.as_view(),
                                    name='single_post'),
    url(r'^tag/(?P<slug>[\w-]+)/$', TagView.as_view(),
                                    name='tagger'),
    url(r'^post/add_comment/(?P<slug>[\w-]+)/$',
        'blog.views.add_comment', name="commenter"),
    url(r'^$', PostsList.as_view(), name="all_posts"),
)
url(r'^post/(?P<slug>\S+)/$', SinglePost.as_view(),
                                name='single_post'),
[...]
url(r'^post/add_comment/(?P<slug>\S+)/$',