我在现有项目中启动了一个django应用程序,我正在尝试按照项目的模式来组织内容。在其他应用程序中,我看到静态文件位于应用程序本身,例如:
文件路径:appname/static/js/file.js
Javascript,在模板中:<script src="{% static 'js/file.js' %}"></script>
这适用于其他应用。我正在尝试做同样的事情,但渲染的文件网址给我一个404错误。
我应该检查什么才能使其正常工作?我查看了设置文件,但网址中没有任何特殊内容。
感谢您的帮助
答案 0 :(得分:7)
路径appname/static/
是Django在每个已安装的应用中都会查找的默认路径,不需要settings
。确保您的新应用实际列在settings.INSTALLED_APPS
。
由于您在开发服务器上,可能缺少静态文件URL。确保这是urls.py
:
if settings.DEBUG:
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns += staticfiles_urlpatterns()
为任何/static/
中的所有文件添加网址路径appname/static/
。
此外,如果您在使用开发服务器时有更多目录(不是appname / static /)要映射到URL路径,那么您可以添加static()
这样的
if settings.DEBUG:
from django.conf.urls.static import static
urlpatterns += static('/pics/', document_root=/var/www/pictures/)