我正在使用 Django 1.4,由于某种原因,我能够提供媒体文件,但不能提供静态文件...... 这是我的代码: 设置:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media/')
MEDIA_URL = '/media/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static/')
STATIC_URL = '/static/'
ADMIN_MEDIA_PREFIX = '/static/admin/'
url.py:
(r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
(r'^static/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.STATIC_ROOT}),
base.html:
<link href="{{ STATIC_URL }}css/bootstrap.css" rel="stylesheet">
<link href="{{ MEDIA_URL }}css/bootstrap-colorpicker.css" rel="stylesheet">
我收到 404 http not found...我做错了什么?我确实在项目中的媒体旁边创建了静态文件夹
最佳答案
您的静态文件夹应该位于您使用它的一个应用程序下。
例如,我有一个名为 my_project
的项目和一个名为 my_app
的应用程序,我在 my_app
中使用了一些静态文件,所以我将它们位于 ~/project_path/my_project/my_app/static
注意:my_app
必须位于INSTALLED_APPS
中。请参阅STATICFILES_FINDERS
documentation .
编辑:
作为最佳实践,您应该在一个应用程序(主应用程序)中拥有一个全局静态文件夹,例如静态文件夹如何包含 html 模板基本资源,如 jquery、bootstrap、全局样式。
对于仅一个应用程序需要的静态文件,例如应用程序 foo
,这些文件应位于 foo/static
文件夹下
关于python - Django 1.4 可以提供媒体文件服务,但不是静态的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16650940/