首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django Admin CSS失踪

Django Admin CSS失踪
EN

Stack Overflow用户
提问于 2011-08-30 10:15:17
回答 13查看 65.1K关注 0票数 46

我一直在处理新的collectstatic命令,并使它在我的普通页面中正常工作。也就是说,我能够在这个位置http://localhost:8000/static/css/main.css加载我的css。然而,我的django管理员的css似乎并没有出现。

当我导航到http://localhost:8000/static/admin/css/base.css的admin位置时,我得到了一个404页,没有找到它,有以下错误:/home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/css/base.css" does not exist。在django-主干中,我一开始就没有/home/nai/GitProjects/cats/django-trunk/django/contrib/admin/media/文件夹。

这很奇怪吗?

无论如何,在我的静态文件夹中,有一个带有css、img和js文件夹的管理文件夹,这些文件夹是在我运行收集器时创建的,base.css的url似乎指向那个位置。

这种情况发生在我的django开发服务器上。下面是一些帮助搜索bug的代码片段:

urls

代码语言:javascript
复制
 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行有关,但是将媒体管理改为静态/管理并没有帮助。

设置

代码语言:javascript
复制
     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 
EN

回答 13

Stack Overflow用户

回答已采纳

发布于 2013-10-29 07:17:06

Django建议您使用wsgi以外的web服务器部署静态文件。

  1. In settings.py,套装:

STATIC_ROOT = 'static'

/path/to/project/static/

  • Configure

  • 运行python manage.py collectstatic,它将把Django管理静态文件复制到您的静态文件服务器。如果使用Nginx,可以添加以下配置:

位置/静态/{别名/路径/到/项目/静态/过期修改+1w;}

  • 重新发布您的web服务器

您现在应该可以访问静态文件了。

票数 39
EN

Stack Overflow用户

发布于 2012-07-02 18:35:56

在Django 1.4中,不推荐使用ADMIN_MEDIA_PREFIX。下面是我为赶上这些最近的Django更改而遵循的步骤:

INSTALLED_APPS

  • in
  1. in settings.py中,将django.contrib.staticfiles添加到django.contrib.staticfiles settings.py define STATIC_URL --如果没有它,静态文件应用程序将无法运行。当使用runserver时,它们将被神奇地处理,但是当您部署时,这需要是浏览器可以获取这些资源的位置。

我想这就是全部了。

票数 28
EN

Stack Overflow用户

发布于 2012-12-27 23:33:27

我在用Django 1.4.3

不适合我的内容:,无论我在settings.py中编辑了多少ADMIN_MEDIA_PREFIX,我都没有注意到为Django管理页面生成的HTML中的任何变化。当我查看源时,它总是写/media/admin/base.css。

什么对我有用。/django/contrib/admin/static/复制了“管理”文件夹,然后粘贴到我的项目“媒体”文件夹中。

现在效果很好。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7241688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档