【发布时间】:2011-11-06 16:30:17
【问题描述】:
我一直在搞乱新的collectstatic 命令,并让它在我的普通页面上工作。也就是说,我可以在http://localhost:8000/static/css/main.css这个位置加载我的css。但是,我的 django 管理员的 css 似乎没有出现。
当我导航到位于 http://localhost:8000/static/admin/css/base.css 的管理 css 位置时,我得到一个 404 页面,并出现以下错误:/home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/css/base.css" does not exist。查看 django-trunk,我一开始就没有 /home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/ 文件夹。
这很奇怪吗?
无论如何,在我的静态文件夹中,有一个 admin 文件夹,其中包含我运行 collectstatic 时创建的 css、img 和 js 文件夹,并且 base.css 的 url 似乎指向该位置。
这发生在我的 django 开发服务器上。这里有一些帮助寻找 bug 的 sn-ps:
网址
33 # In order for Dev Server to serve media files for the frontend site.
34 urlpatterns += staticfiles_urlpatterns()
35
36 try:
37 if settings.DEBUG: # defined in manage.py when the first arg is "runserver"
38 urlpatterns += patterns('',
39 (r'^media/(?P<path>.*)$', 'django.views.static.serve',{'document_root': settings.MEDIA_ROOT}),
40 (r'^media-admin/(?P<path>.*)$', 'django.views.static.serve',{'document_root': os.path.join(settings.MEDIA_ROOT, '..', settings.ADMIN_MEDIA_PREFIX)}),
41 )
42 except NameError:
43 pass
我认为这可能与我的 URLS 文件中的第 40 行有关,但将 media-admin 更改为 static/admin 没有帮助。
设置
58 ADMIN_MEDIA_PREFIX = '/static/admin'
69 STATIC_ROOT = os.path.join(os.path.abspath(os.path.join(PROJECT_ROOT, '..', MEDIA_DIR, 'static')), '')
70
71 # URL prefix for static files.
72 # Example: "http://media.lawrence.com/static/"
73 STATIC_URL = '/static/'
74
75 # Additional locations of static files. Global files are stored in here
76 STATICFILES_DIRS = (
77 os.path.join(os.path.abspath(os.path.join(PROJECT_ROOT, '..', 'proj_public', 'static', 'proj')), ''),
78 )
79
【问题讨论】:
-
这个错误原来与其他东西完全相关.. 代码没有问题。
-
请您发布问题所在。我完全被同样的问题困住了。
标签: django django-admin