Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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 Django URL中的意外字符_Python_Regex_Django_Url - Fatal编程技术网

Python Django URL中的意外字符

Python Django URL中的意外字符,python,regex,django,url,Python,Regex,Django,Url,我正在写一个博客,并试图在帖子列表页面上进行分页操作。当我运行应用程序时,我的URL包含意外字符。例如 http://127.0.0.1:8000/blog/%5E$ 我不明白为什么有%5E$ 这里是我的url.py(这在blogapp中): 最后,这个bloglist页面是通过 根据zvadym之前的评论,您需要使用重新设置路径()而不是路径(),因为它是逐字解释^$。这在Django 2.0中是新的,因此它取决于您的版本。Hmdjango.url.path?我可以在我的dhango 1.11

我正在写一个博客,并试图在帖子列表页面上进行分页操作。当我运行应用程序时,我的URL包含意外字符。例如

http://127.0.0.1:8000/blog/%5E$

我不明白为什么有
%5E$

这里是我的url.py(这在blogapp中):

最后,这个bloglist页面是通过


根据zvadym之前的评论,您需要使用
重新设置路径()
而不是
路径()
,因为它是逐字解释
^$
。这在Django 2.0中是新的,因此它取决于您的版本。

Hm
django.url.path
?我可以在我的dhango 1.11中找到这个。您必须使用
django.conf.urls.url
难道^$不应该捕获空的url吗?它是如何导致%5E$?您将旧样式的URL和新路径混为一谈。我建议您选择一个,如果您使用regex,您需要使用re_path this link
http://127.0.0.1:8000/blog/%5E$
,它调用了特定视图吗?如果是,哪一个?谢谢大家,正如@diek所说的,问题是使用带有路径函数的正则表达式。删除正则表达式后,问题得到解决。
from django.urls import path,include
from django.contrib import admin

from . import views

urlpatterns = [
    path(r'^$',views.getPosts,name="bloghome"),
    path(r'^(?P<selected_page>\d+)/?$',views.getPosts,name="bloghome"),    
    path('<slug>',views.postDetailPage,name="post_detail")
]
def getPosts(request,selected_page=1):
#    latest_post = Posts.objects.get(id=1)
    posts = Posts.objects.all().order_by('-pub_date')
    pages = Paginator(posts,5) #Show 5 post per page
    try:
        returned_page = pages.page(selected_page)
    except EmptyPage:
        returned_page = pages.page(pages.num_pages)
    #content = pages.page(selected_page)    
    return render(request,'blog.html',{'page':returned_page,
                                       'posts':returned_page.object_list
                                        })
<a href="{% url 'bloghome'%}">Blog</a>