【Django】Django中静态资源(css,js,image等)申请URL编写技巧

在Django项目中,静态资源如CSS、JS、图片的URL配置是必不可少的。通常做法是在settings.py中配置静态文件路径,但这种方式可能导致URL结尾的'/'引起资源找不到的问题。当APPEND_SLASH设置为True时,Django会自动重定向无斜杠URL,而False则直接报404错误。为解决这个问题,可以修改urls.py,将以'css/.*'结尾的URL映射到静态资源路径,避免其他类似/xxxxcss/xxxxx的误匹配。最后的解决方案是在正则表达式中精确匹配,确保只有以'css/'开头且以'/.'结尾的URL指向静态资源。
摘要由CSDN通过智能技术生成

在Django中,所有通过url申请的资源,都要在urls.py文件中进行配置。所以css,js,image等静态资源也不例外。

网上大部分给出的方案为:

settings.py中:

STATIC_ROOT=你的静态文件存放根目录

urls.py中:

urlpatterns = patterns('django.views',
    url(r'^css/(?P<path>.*)$', 'static.serve', 
        {'document_root':settings.STATIC_ROOT+'css/'}),
    url(r'^js/(?P<path>.*)$', 'static.serve', 
        {'document_root':settings.STATIC_ROOT+'js/'}),
    url(r'^image/(?P<path>.*)$', 'static.serve', 
        {'document_root':settings.STATIC_ROOT+'image/'}),
)


但是这样,会出现一个灰常卵疼的问题——URL中最后的那个'/'会导致资源找不到。我们来问题重现。

===========================割===&#

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值