我已经在一个现有的项目中启动了一个django应用程序,我试图按照项目的模式来组织东西。在其他应用程序中,我看到静态文件在应用程序本身中,例如:文件路径:appname/static/js/file.js
Javascript,模板内:<script src="{% static 'js/file.js' %}"></script>
这在其他应用程序中也能用,我也试着这么做,但是渲染文件的url给了我一个404错误。
我应该检查什么才能让它工作?我已经在设置文件中找过了,但是那里没有什么特别的东西,网址中也没有。
谢谢你的帮助
2条答案
按热度按时间pw9qyyiw1#
路径
appname/static/
是Django在每个已安装应用中查找的默认路径,不需要settings
。确保您的新应用确实列在settings.INSTALLED_APPS
中。由于您在开发服务器上,可能您丢失了静态文件URL。请确保它位于
urls.py
的末尾:这将为任何
appname/static/
中的所有文件添加URL路径/static/
。此外,如果在使用开发服务器时有多个目录(不是appname/static/)要Map到URL路径,则可以使用
static()
添加,如下所示tkclm6bt2#
在我的例子中,我在每个应用程序中都有静态文件夹,但模板中的
/static/media
没有从该应用程序中拾取图像,从而引发404。我最初做的事情是,我在www.example.com和django文档中放置了
static_url = "/static/"
settings.py,他们提到放置"static/"
,当我进行此更改时,它工作正常Django文档= https://docs.djangoproject.com/en/4.1/howto/static-files/