栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django静态文件开发

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django静态文件开发

根据你到目前为止发布的内容,你似乎在关注的文档

django.contrib.staticfiles
。我同意,文档可能很难遵循,尤其是对于django来说是新文档时。

我相信造成这种混乱的原因是

django.contrib.staticfiles
有两种操作模式:

在使用开发服务器的开发阶段,它会动态搜索预定义目录中的静态文件,并在STATIC_URL
对于部署,它有助于将静态文件整理到单个目录(使用定义STATIC_ROOT),以便可以使用适用于静态文件的Web服务器托管静态文件。排序是使用进行的

python ./manage.py collectstatic

这是有关如何启动和运行的快速摘要。我没有机会尝试一下,所以可能有错误。希望这可以帮助你入门,至少可以帮助你理解文档。如有疑问,请参阅文档。

在开发服务器上托管静态文件
1. 请确保你有

'django.contrib.staticfiles
‘在
INSTALLED_APPS

  1. 指定STATIC_URL。这将是你的静态文件所在的路径。
STATIC_URL = '/static/'
  1. 确保文件位于正确的目录中。默认情况下,staticfiles将在static/每个已安装应用程序的目录以及中定义的目录中查找文件STATICFILES_DIRS。(此行为取决于中列出的后端STATICFILES_FINDERS)。就你而言,你可能希望在中指定目录STATICFILES_DIRS:
STATICFILES_DIRS = (       'C:/Users/Dan/seminarWebsite/static/',  )
  1. 请通过添加下面的访问视图结束的urls.py:
from django.contrib.staticfiles.urls import staticfiles_urlpatternsurlpatterns += staticfiles_urlpatterns()
  1. 确保你已
    DEBUG = True
    进入
    settings.py

如果你运行开发服务器

(./manage.py runserver)
,则应该可以通过
http://localhost:8000/static/images/vision.jpeg
(提供服务
C:/Users/Dan/seminarWebsite/static/images/vision/jpeg)
访问文件。

链接到模板中的静态文件
有两种方法可以为你的静态文件获取正确的链接-使用staticfiles template标记,并使模板STATIC_URL可访问。由于你尝试了后者,因此我们会坚持下去。

确保你已

'django.core.context_processors.static'进入TEMPLATE_CONTEXT_PROCESSORS
。如果你还没有重新定义,
TEMPLATE_CONTEXT_PROCESSORS
那就无事可做,因为默认情况下应该在那里。

确保在渲染模板时使用RequestContext。例:

from django.template import RequestContext# ...def some_view(request):    # ...    return render_to_response('my_template.html', {        "foo" : "bar",  # other context     }, context_instance = RequestContext(request))

你现在应该可以在自己的服务器中使用以下内容

my_template.html:

<a href="{{ STATIC_URL }}images/vision.jpeg" />

在生产服务器上托管静态文件。
如果你需要提供的所有静态文件都存储在该目录

(C:/Users/Dan/seminarWebsite/static)
中,那么你就快到了。只需将你的Web服务器配置为在该目录上
/static/
(或任何你设置的目录)上托管该目录,STATIC_URL就可以了。

如果文件分散在不同的目录中和/或应用程序特定的静态文件中,则需要整理它们。

  1. 设置
    STATIC_ROOT
    为要存储整理文件的目录。
  2. 运行
    ./manage.py collectstatic
    进行整理。
  3. 配置你的网络服务器以托管该目录(
    STATIC_ROOT)/static/
    (或设置为该目录STATIC_URL)。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/432120.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号