Django应用程序URL不工作

Django应用程序URL不工作,django,Django,在一个应用程序的URL.py中,我有: urlpatterns = patterns('app.views', url(r'^products/$', products, name="products"), url(r'^$', index, name="index"), ) urlpatterns = patterns('', (r'^$', include('app.urls')), (r'^admin/', include(admin.site.ur

在一个应用程序的URL.py中,我有:

urlpatterns = patterns('app.views',
    url(r'^products/$', products, name="products"),
    url(r'^$', index, name="index"),
)
urlpatterns = patterns('',   
    (r'^$', include('app.urls')),
    (r'^admin/', include(admin.site.urls)),
)
在base project url.py中,我有:

urlpatterns = patterns('app.views',
    url(r'^products/$', products, name="products"),
    url(r'^$', index, name="index"),
)
urlpatterns = patterns('',   
    (r'^$', include('app.urls')),
    (r'^admin/', include(admin.site.urls)),
)
为什么-适用于app.views.index方法 while-返回404错误且未在url路由中定义


已经花了一些时间在上面,但找不到解决方案,也许我错过了一些简单的东西…

您的基本URL应该是:

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

工作正常。

仅将“$”用于URL。如果您查看文档,它会告诉您在使用include()时不要使用“$”。

在Django URL中使用path()时,我也遇到了同样的问题。 简单的修复方法是,您不必在路径末尾使用斜杠,否则Django将把该URL作为完整的URL,并且不会转到下一个URL.py文件

//this will not work    
path('/', include('app.urls'), name='profile_page')

// but this will work
path('', include('app.urls'), name='profile_page')

您是否在
app.url
中导入了
app.views
?尝试了导入和不导入都没有帮助“产品”路径工作,但破坏了“索引”路径如果您删除了尾随斜杠,并将模式移到管理斜杠下方,您将能够访问索引和产品视图。尝试(r'^',include('app.url'),-适用于所有情况。如您在回答中所述,仅适用于r'^'而不适用于r'^/'。您应该将管理员URL的行移到apps.url之前!我还认为我应该,出于某种原因,管理员url仍然可以使用这种配置。