【问题标题】:Django - Can't Get Static Files To Work In DevelopmentDjango - 无法让静态文件在开发中工作
【发布时间】:2012-02-29 04:19:46
【问题描述】:

首先对我之前在完成问题之前不小心提交的帖子表示歉意...我不是垃圾邮件:)

从关于该主题的类似标题的数量来看,这似乎是一个混乱的根源,但是在阅读了我在 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;,我认为它不应该在那个地址(主页是调用静态图像文件的页面的 url 名称)

任何帮助都会很棒,因为它将我的项目推向了高潮。

谢谢

【问题讨论】:

标签: django static


【解决方案1】:

你的文件的网址应该是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

【讨论】:

  • 我现在有了图片位置的 URL,所以我找到了,谢谢!但它说找不到“images\vision.jpeg”。我正在使用 RequesContext 并且确实链接了静态上下文处理器。我的观点:def homepage(request):seminars = Seminar.objects.order_by('date') return render_to_response('homepage.html', {'seminarData':seminars}, context_instance=RequestContext(request))
【解决方案2】:

如果 DEBUG = False,请检查您的设置。如果为 False - 内置服务器将不会提供静态文件,除非您通过以下方式强制它这样做:

django-admin.py runserver --insecure

这里是关于 The staticfiles app 的 django 文档的链接

--不安全

使用 --insecure 选项强制使用 静态文件应用程序,即使 DEBUG 设置为 False。通过使用这个你 承认它非常低效并且可能 不安全。这仅用于本地开发,绝不应该 在生产中使用,并且仅当静态文件应用程序位于 您项目的 INSTALLED_APPS 设置。

【讨论】:

  • 谢谢,但我的调试设置为 True。
【解决方案3】:

终于成功了!大家的建议非常有帮助,谢谢。出于某种原因,我的静态目录中有一个静态子目录,而 Django 正在查看它...

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

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

不明白为什么,但它确实有效,但还是谢谢你

【讨论】:

猜你喜欢
  • 2020-07-20
  • 2012-02-29
  • 1970-01-01
  • 1970-01-01
  • 2011-08-31
  • 2019-12-08
  • 2012-06-04
  • 2019-05-28
相关资源
最近更新 更多