【问题标题】:Django urls.py not found找不到 Django urls.py
【发布时间】:2011-12-09 17:42:22
【问题描述】:

为名为 OmniCloud_App 的 Django 应用设置 URL。访问 /OmniCloud_App/signup 时出现错误,提示找不到 url。这是主要的 urls.py:

urlpatterns = patterns('',
  (r'^OmniCloud_App/$', include('OmniCloud_App.urls')),
  (r'^admin/', include(admin.site.urls)),
)

然后包括 OmniCloud_App/urls.py:

urlpatterns = patterns('OmniCloud_App.views',
    (r'^', 'home'),
    (r'^signup/', 'signup'),
    (r'^(?P<User_id>\d+)/$', 'profile'),
    (r'^(?P<User_id>\d+)/social$', 'social'),
    (r'^(?P<User_id>\d+)/news$', 'news'),
    (r'^(?P<User_id>\d+)/email$', 'email'),
    (r'^(?P<User_id>\d+)/photos$', 'photos'),
)

所以注册应该去views.py中的注册方法:

def signup(request):
    return render_to_response('OmniCloud_App/Templates/OmniCloud/signup.html', context_instance=RequestContext(request))

为什么这不起作用?这是 404,这意味着它永远不会超过初始 urls.py 文件,尽管简单地访问 /OmniCloud_App/ 会正确呈现“主页”页面(这也在 include('OmniCloud_App.urls')

中定义

【问题讨论】:

    标签: django django-views django-urls


    【解决方案1】:

    您需要从此处删除$

    (r'^OmniCloud_App/$', include('OmniCloud_App.urls')),
    

    所以它是:

    (r'^OmniCloud_App/', include('OmniCloud_App.urls')),
    

    $ 表示字符串的结尾。

    【讨论】:

    • 嗯很好。我试过了,但后来它接受了 /OmniCloud_App/* (任何字符串)我还需要在注册后添加 $/
    猜你喜欢
    • 2021-10-17
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    • 2019-05-06
    • 2017-06-11
    • 2018-07-07
    • 2022-11-13
    相关资源
    最近更新 更多