Project目录中的Settings.py文件:
我已经添加了以下内容:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
->在模板中
<script src="{% static "validateurl/home.js" %}"></script>
我在项目目录下有一个目录静态。 home.js在静态下的 validateurl 目录下。
在模板html文件中使用以下代码引用JS文件:
请告诉我我在这里想念的东西。
以下错误:
答案 0 :(得分:2)
以下是配置django应用以为本地开发提供静态文件的步骤。
STATIC_ROOT的默认值为“无”,因此您必须在设置中指定该值。确保您的settings.py中包含类似内容。这会告诉您的网络服务器在哪里找到并提供映射到url的静态文件。
import os
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
第二个还指定您的STATIC_URL变量,因为它也默认为none。以下内容就足够了。这将用于设置urlpattern。
STATIC_URL = '/static/'
您需要使用url模式,以便您的服务器知道与静态文件对应的url
from django.conf.urls.static import static
urlpatterns = [
# ... the rest of your URLconf goes here ...
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
在设置中指定STATICFILES_DIRS变量。这样,收集静态管理器便知道在哪里可以找到静态变量并将其放入STATIC_ROOT中。这可以是到不同目录的项目的数组或元组。如果没有其他目录,则可以为空
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'pathtohomejsdirectory/'),)
最后,请确保您运行python manage.py collectstatic
这会将STATICFILES_DIRS中指定的所有文件复制到/ static /(STATIC_ROOT)目录中,以供Django服务。
在制作中,您希望您的网络服务器/反向代理使用nginx或apache来提供文件。参见django文档here