【问题标题】:Django urls.py: url doesn't work properlyDjango urls.py:url 无法正常工作
【发布时间】:2015-01-06 04:01:55
【问题描述】:

我正在使用 Django 开发网页。 我想为应用程序添加/定义一个 url。

此时 url (dsvd/) 不能正常工作。它只显示表格数据,不显示 css 和背景。

这是主 urls.py 文件的代码。

from django.conf.urls import patterns, include, url    
from django.conf import settings    
from django.conf.urls.static import static    

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'kleedkamer_overview.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^', include('kleedkamer_overview.urls')),
    url(r'^dsvd/', 'kleedkamer_overview.views.indeling'),
)

这里是应用程序 urls.py 文件中的代码

from django.conf.urls import patterns, url

from kleedkamer_overview import views

urlpatterns = patterns ('',
    url(r'^$',views.indeling, name='indeling'),
    )

有人可以帮我找出问题吗? 问候。

【问题讨论】:

  • 您是否检查了浏览器的控制台是否有任何 404 ?
  • 是的,没有 404 错误。在这里你可以看到结果:kleedkamerscherm.nl/dsvd
  • 您的问题表明,与您的标题相反,URL 工作正常,但 CSS 和图像不是。这使得这是一个关于静态文件的问题,之前在这里已经被问过数百次了。
  • 虽然问题不在于 urls.py 文件,但仍应注意 urls.py 文件格式错误
  • 您是在实时服务器上开发吗?这是一个大胆的举动。

标签: python django url


【解决方案1】:

看来线路给你带来了麻烦:

url(r'^dsvd/', 'kleedkamer_overview.views.indeling')

您似乎正在尝试将此 URL 映射到 kleedkamer_overview.views.indeling,但 URL 正则表达式不以“$”结尾。映射到其他应用的 Urls.py 文件如下所示:

url(r'^admin/', include(admin.site.urls))

注意 include 函数调用和正则表达式 r'^admin/' 不以 $ 结尾

但是映射到特定视图有点不同,看起来像这样:

url(r'^$', 'kleedkamer_overview.views.home', name='home')

请注意,这一次,include() 函数调用将转到您的位置,而不是告诉 Django 您要使用哪个特定视图,并且站点正则表达式是 r'^$',以 $ 结尾。

尝试改变这个:

url(r'^dsvd/', 'kleedkamer_overview.views.indeling')

到这里:

url(r'^dsvd/$', 'kleedkamer_overview.views.indeling')

编辑: 我看到了您的 cmets,虽然 urls.py 不是您的问题的根源,但我所说的仍然有效,因为 urls.py 格式错误。您甚至根本不应该有违规行,因为您已经包含了来自 kleedkamer_overview 的 urls.py,不需要包含它两次。它不是 DRY,一般来说只是不好的做法。这就是为什么尽管格式错误仍然有效,因为站点是按顺序查找的,在这种情况下,它首先查找 /admin 然后查找 / 并且没有到达 /dsvd 因为它已经被 / 捕获并且您的格式错误永远无法到达 url 映射。

【讨论】:

    猜你喜欢
    • 2013-10-21
    • 2014-03-07
    • 2013-02-25
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    • 2016-06-05
    • 2019-02-15
    相关资源
    最近更新 更多