2012-04-13 60 views
-1

我有一个在Django上运行的应用程序。我们的urls.py有以下条目 -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'), 
) 
+3

请确保您重新启动您的网络服务器。你可能不得不杀死一些流氓python进程。 – sdolan 2012-04-13 04:48:24

+0

我重新启动了我的网络服务器..但无济于事。我甚至重新启动了我的机器。仍然没有结果。 – Wiz 2012-04-13 04:51:16

+0

在下面列出了'^ d $'行吗?当前的URL d与这些中的任何一个都不匹配。 – okm 2012-04-13 06:10:50

回答

1

的问题是不是在你给我们的信息。您尝试访问的网址格式和网址看起来都不错。

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

请求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,它表现出来一个错字,或请求的网址有点不同。如果你仍然无法弄清楚问题,试着给我们多一点信息!

+0

我已更新我的原始帖子。感谢您指出。任何想法为什么它没有显示? – Wiz 2012-04-13 07:36:27

1

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

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

find . -name "*.pyc" #Find all pyc files and list them to console 
find . -name "*.pyc" -exec rm '{}' ';' #Run command rm on each file found