-1

我有一个在 Django 上运行的应用程序。我们的 urls.py 有以下条目 -

url(r'^$', 'web.views.index', name='index'),
url(r'^g$', 'web.views.getpost', name='getpost'),

url(r'^p$', 'web.views.postarticle', name='postarticle'),

这些 url 模式运行良好。但是,我添加了另外两个 url 模式 -

url(r'^d$', 'web.views.delete', name='delete'),

url(r'^u$', 'web.views.update', name='update'),

当我击球时

http://127.0.0.1:8000/d

它给出了 - 当前 URL d 与其中任何一个都不匹配。

我不知道为什么它不能识别新添加的 url 模式。知道为什么它不起作用吗?

编辑:正如韦斯利提到的,它显示:

请求 URL: http: //127.0.0.1 :8000/d Django 尝试了这些 URL 模式,顺序如下:

^$ [name='index']
^g$ [name='getpost']
^p$ [name='postarticle']

它不显示 ^d 或 ^u url 模式。

这是我的 urls.py

from django.conf.urls.defaults import patterns, url
from django.conf import settings

urlpatterns = patterns('',
    url(r'^$', 'web.views.index', name='index'),
    url(r'^g$', 'web.views.getpost', name='getpost'),

    url(r'^p$', 'web.views.postarticle', name='postarticle'),
url(r'^d$', 'web.views.delete', name='delete'),

    url(r'^u$', 'web.views.update', name='update'),
)
4

2 回答 2

1

问题不在于您提供给我们的信息。url 模式和您尝试访问的 url 看起来都不错。

-> 调试视图究竟返回了什么?是否显示:

请求 URL: http: //127.0.0.1 :8000/d Django 尝试了这些 URL 模式,顺序如下:

^ ^$ [name='index']
^ ^g$ [name='getpost']
^ ^p$ [name='postarticle']
^ ^d$ [name='delete']
^ ^u$ [name='update']

可能调试视图没有列出删除 url,它显示有错字,或者请求 url 有点不同。如果您仍然无法解决问题,请尝试向我们提供更多信息!

于 2012-04-13T07:06:06.830 回答
1

如对问题的评论所示,问题是一个陈旧的 .pyc 文件。这已通过删除 .pyc 文件并重新启动服务器来解决。

为了防止将来出现此问题,您应该在启动开发服务器之前删除 .pyc 文件。您可以使用以下命令快速删除当前目录和所有子目录中的所有 pyc 文件(确保在杀死它们之前检查 find 返回正确的文件)。

find . -name "*.pyc" #Find all pyc files and list them to console
find . -name "*.pyc" -exec rm '{}' ';' #Run command rm on each file found
于 2012-04-13T10:39:24.967 回答