您好,匿名用户
随意问技术百科期待您的加入

django开发环境下的静态文件访问

+1 投票

初学django,在静态文件访问上折腾了好长时间,开发环境。
目录结构

ojweb2
|-media
|-static
|-|-js
|  |-css
|-templates
|-|...(template html files)
|-web
|-|-__init__.py
|  |-models.py
|  |-views.py
|-__init.py__
|-settings.py
|-urls.py
|-wsgi.py

settings.py中static变量的设置:

STATIC_ROOT = os.path.join(os.path.dirname(__file__), 'static')
STATIC_URL = '/static/'

模板文件中的引用方式

    <script src="/static/js/jquery.js"></script>
    <link href="/static/css/doc.css" rel="stylesheet" type="text/css">

尝试了以下方法:
1.有说开发环境的静态文件由开发服务器负责,不用配置,但是不加任何配置访问不了
2.urls.py中urlpatterns的设置

url(r'^static/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_ROOT}, name='static'),

这种方法也不成功
3.

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

把debug设为False,能成功访问,但是开发时不能吧debug设为False吧。
4.django的文档中说把static文件夹放在相应的app下,把static文件夹放到web下,不用其他配置,可以正常访问,但是static中的文件是想整个project共用的,所以这种方法也解决不了问题。

请问大家开发环境下采用怎样的设置才可以访问如上所说目录结构下的静态文件?

用户头像 提问 2013年 9月11日 @ 末日姐 上等兵 (172 威望)
分享到:

1个回答

+1 投票
 
最佳答案

url.py

from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()

settings.py

STATIC_DIRS = (
    #your dev static file path
)

templates

{{ STATIC_URL }}

这样就可以访问你的静态文件了。具体可以参考一下django static files

用户头像 回复 2013年 9月11日 @ Gragas 上等兵 (254 威望)
选中 2013年 9月7日 @末日姐
提一个问题:

相关问题

0 投票
1 回复 27 阅读
用户头像 提问 2014年 1月2日 @ Skarner 上等兵 (193 威望)
0 投票
1 回复 26 阅读
用户头像 提问 2014年 1月11日 @ Gangplank 上等兵 (314 威望)
0 投票
1 回复 37 阅读
用户头像 提问 2013年 9月8日 @ Dr. Mundo 上等兵 (281 威望)
0 投票
1 回复 38 阅读
用户头像 提问 2013年 10月27日 @ Zeus 上等兵 (193 威望)
0 投票
1 回复 46 阅读

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...