Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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
Django url有问题_Django_Django Urls - Fatal编程技术网

Django url有问题

Django url有问题,django,django-urls,Django,Django Urls,将导致404错误 url.py (r'^projects/(?P<project_name>[\w ,-<>]+)/', include('projects.urls')), 我需要对我的url文件进行哪些更改才能使此特定url正常工作 有效URL列表: ^admin/doc/ ^admin/ ^projects/(?P<project_name>[\w ,-<>]+)/ edit_file/$ ^media/(?P<path>.*)

将导致404错误

url.py

(r'^projects/(?P<project_name>[\w ,-<>]+)/', include('projects.urls')),
我需要对我的url文件进行哪些更改才能使此特定url正常工作

有效URL列表:

^admin/doc/
^admin/
^projects/(?P<project_name>[\w ,-<>]+)/ edit_file/$
^media/(?P<path>.*)$

尝试将项目/url.py更改为

(r'^edit_file/$', views.edit_file),

您需要在正则表达式中反斜杠您的
-

>>> p = re.compile(r'projects/[\w ,-<>]+/')>>> p.search('http://127.0.0.1:8300/projects/cprshelp/edit_file/?filename=manage.py').group()
'projects/cprshelp/edit_file/'
>>> p = re.compile(r'projects/[\w ,\-<>]+/')>>> p.search('http://127.0.0.1:8300/projects/cprshelp/edit_file/?filename=manage.py').group()
'projects/cprshelp/'
>>> 

它是一个实际的404,还是告诉你这是一个无效的url,并给你一个有效url的列表?如果是后者,您可以发布它提供的URL吗?显示您的编辑文件视图查看编辑的问题描述在有效的URL中,“编辑文件/$”之前是否有空格?我将^projects/(?P[\w,-]+)/更改为^projects/(?P\w+)/现在它工作了。我认为“-”前面应该有一个反斜杠。否则,您将定义介于“,”和“抱歉”之间的范围。尽管如此,我还是会投你一票赞成正确答案。
(r'^edit_file/$', views.edit_file),
>>> p = re.compile(r'projects/[\w ,-<>]+/')>>> p.search('http://127.0.0.1:8300/projects/cprshelp/edit_file/?filename=manage.py').group()
'projects/cprshelp/edit_file/'
>>> p = re.compile(r'projects/[\w ,\-<>]+/')>>> p.search('http://127.0.0.1:8300/projects/cprshelp/edit_file/?filename=manage.py').group()
'projects/cprshelp/'
>>> 
filename = request.GET.get('filename','')