我的问题是:我可以简单地忽略静态、媒体、collectstatic和上帝知道什么的胡说八道,只把我的css、img和js文件正常地链接起来吗?在
以管理文件为例。我将模板复制到我的projects template文件夹中进行编辑。很简单,但是当我想改变css时。。。哦,天哪。我不能链接任何css文件!只有css这个模板愿意找到是在我的django源代码。。。将其更改为任何内容(如href=“/assets/css/管理员.css)却找不到。我试着编辑设置.py文件和那个静态的东西在那里;这显然不起作用。在
请帮帮我:请问我需要给我的设置.py为了有以下结构和能够正常链接我的文件?在
项目
----现场
----模板
———管理员
———现场
----资产
———图像
———Css
———Js公司
提前谢谢!在
是的,您可以忽略所有用于静态、媒体等的内置
Django
机制,尽管一旦您掌握了它,它确实很方便。在但是如果您确实想忽略它,并在assets文件夹中提供资产,那么需要考虑两个不同的环境:}。在
development
和{在开发中,您可以让
Django
runserver服务于静态资产,只需告诉它在哪里可以找到它们。看一下文档here,看一个使用Django
serve()
函数执行此操作的示例。在在生产环境中,您只需配置服务器在该目录中查找
/assets/
开始的URL
路径中的任何内容。在摘录自Surviving django.contrib.staticfiles (or: how to manage static files with django):
其中:
/static_url/
是STATIC_URL
/srv/project/static_root/
是{/srv/project/static_dir/
是STATICFILES_DIRS
中列出的dir此外,在部署时必须运行collectstatic。在
是的,我写这篇文章是因为我认为它可以帮助很多人,他们宁愿阅读一篇只涉及最常见的用例的短文,而不是完整的文档,例如截止日期。在
希望这有帮助。在
在开发环境中,您可以通过Django(django.contrib.staticfiles)为这些文件提供服务。 在生产环境中,您可以简单地通过像Apache这样的web服务器来服务静态文件(您可以为静态文件目录配置一个别名)。在
相关问题 更多 >
编程相关推荐