我是使用 django 的初学者,并尝试制作我的第一个应用程序,但每次我在 View 中添加 javascript 文件时,我都会收到“未找到”的消息
这是我的设置.py
STATIC_URL = '/home/me/PycharmProjects/GLife/static/'
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
MEDIA_URL = '/media/'
STATIC_ROOT = 'static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_DIR, 'static'),
)
url.py
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^register', include('register.urls')),
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT, 'show_indexes': True}),
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
urlpatterns += staticfiles_urlpatterns()
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<!--<script src="/static/djangular/js/django-angular.min.js" type="text/javascript"></script>-->
<script src="{% static '/js/_register/register.js' %}" type="text/javascript"></script>
<title></title>
</head>
<body>
我已经搜索过,但建议失败,希望有人能帮忙
这是我的项目结构
我的项目
--主要
--register
---migrations
---templates
--static
---js
----_register
我只是尝试使用 js 进行警报显示作为测试
最佳答案
发生这种情况是因为您切换了 STATIC_ROOT
和 STATIC_URL
的值。一定是这样的:
STATIC_URL = '/static/'
STATIC_ROOT = '/home/me/PycharmProjects/GLife/static/'
STATIC_URL is the URL to use when referring to static files located in STATIC_ROOT.
STATIC_ROOT is the absolute path to the directory where collectstatic will collect static files for deployment.
此外,您的静态路径和 STATIC_ROOT
路径必须不同。
使用开发服务器时,您不需要配置STATIC_ROOT
或使用collectstatic管理命令,因为如果DEBUG
为true,它会自动从静态文件夹中提供静态文件.
关于python - 找不到 django 静态目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32409697/