【发布时间】:2016-12-09 10:14:03
【问题描述】:
我现在对 Django (1.9) 很生气!最可悲的是“静态 URL”给我带来了问题。 'Media URL' 工作正常,没问题,但静态 url 让人头疼。
在我的 settings_dev.py 中
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
STATIC_ROOT = os.path.join(PROJECT_PATH,'../static/')
STATIC_URL = '/static/'
当我添加以下标签时:
{% load static from staticfiles %}
<script type="text/javascript" src="{% static 'datepicker/js/bootstrap-datepicker.js' %}"></script>
js 文件不会加载。当我检查我的源代码时,它会显示以下链接。
<script type="text/javascript" src="/static/datepicker/js/bootstrap-datepicker.js"></script>
当我点击它时,它会将我重定向到
http://127.0.0.1:8000/static/datepicker/js/bootstrap-datepicker.js
并显示
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/static/datepicker/js/bootstrap- datepicker.js
现在,我将 urls.py 调整为
if settings_dev.DEBUG:
# static files (images, css, javascript, etc.)
urlpatterns += patterns('',
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings_dev.MEDIA_ROOT, 'show_indexes': True}),
(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
'document_root': settings_dev.STATIC_ROOT, 'show_indexes': True}),
)
然而,我仍然遇到同样的错误!!页面未找到问题。
项目目录
PROJECT NAME: Book/
SUB DIRECTORY:
media
static
Template
book
bookapp
manage.py (this is a file)
我错过了什么?
【问题讨论】:
-
首先,您是否使用本地 Python Django 开发服务器以外的任何其他服务器来托管您的 Web 应用程序,例如 Apache 或 NGINX?也就是说,你使用的是
python manage.py collectstatic吗? -
你能不能给我们看看你的根目录长什么样,看看 static_url 是否真的在正确的目录中搜索静态文件?
-
@AnkushRaghuvanshi 我已经更新了问题
-
当我运行 python manage.py collectstatic 时,它会将文件移动到 /static/ 。哪个是正确的文件夹。
-
您是否尝试在
development或production设置中运行它?