Django - 无法获取静态文件在开发中工作

时间:2012-02-07 17:59:28

标签: django static

首先为我之前发布的帖子道歉,我在完成问题之前意外提交了......我不是垃圾邮件:)

这似乎是一个混乱的来源,从这个主题的类似标题的数量判断,然而在阅读了我可以在django开发服务器的静态文件上找到的所有内容后,我几乎放弃了希望!

所以我的静态文件是从C:/Users/Dan/seminarWebsite/static/提供的,其中我有图像的子文件夹,css等。为简单起见,我只想说我想在我的网站主页上显示一个图像(这是一个简单的任务,我会有希望!)

SETTINGS:  
STATIC_ROOT = 'C:/Users/Dan/seminarWebsite/static/'  
STATIC_URL = '/static/'  

静态文件应用程序也处于活动状态。

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

TEMPLATE: "{{ STATIC_URL }}images/vision.jpeg"

但是只有一个断开的链接出现在这个地址:http://127.0.0.1:8000/homepage/images/vision.jpeg;我不认为它应该在那个地址(主页是调用staic图像文件的页面的URL名称)< / p>

任何帮助都会很棒,因为它让我的项目变得更加艰难。

谢谢

3 个答案:

答案 0 :(得分:2)

您文件的网址应为http://127.0.0.1:8000/static/images/vision.jpeg

如果您的模板包含以下内容:

  

模板:“{{STATIC_URL}} images / vision.jpeg”

这意味着STATIC_URL没有显示任何内容,这意味着您可能没有使用RequestContext,或者您没有static上下文处理器。

在调试这样的事情时,请确保您实际查看模板中正在生成的URL。

https://docs.djangoproject.com/en/dev/ref/templates/api/#subclassing-context-requestcontext

答案 1 :(得分:2)

如果DEBUG = False,请检查您的设置。如果为False - 内置服务器将不提供静态文件,除非您强制它使用:

django-admin.py runserver --insecure

以下是有关The staticfiles app

的django文档的链接
  

- 不安全

     

使用--insecure选项强制提供静态文件   staticfiles app即使DEBUG设置为False。通过使用你   承认它的效率非常低,而且很可能   不安全的。这只是用于本地开发,绝不应该   在生产中使用,仅在staticfiles应用程序所在的时候可用   您的项目的INSTALLED_APPS设置。

答案 2 :(得分:0)

终于工作了!每个人的建议都非常有用,谢谢。出于某种原因,我的静态目录中有一个静态子目录,而Django正在寻找...

Static  
-Admin  
-CSS  
-Images  
    :Vision.jpeg  
-....  
-Static  
    -Admin  
    -CSS  
    -Images  
          :Vision.jpeg  

http://127.0.0.1:8000/static/static/images/vision.jpeg

不明白为什么但它有效,所以谢谢你