如何修复Django管理员的样子?

时间:2013-06-08 22:19:26

标签: python django django-admin

我的Django应用程序的管理员如下所示。

Django admin

显然,某些样式表已丢失和/或已损坏。

问题:

  1. 使用哪些样式表以默认方式呈现Django管理员?
  2. 我在哪里可以找到它们?
  3. 更新1(10.06.2013 00:18 MSK):执行manage.py collectstatic会产生以下输出,并且不会更改管理员的外观。

    D:\dev\history-site>C:\Python25\python manage.py collectstatic
    
    You have requested to collect static files at the destination
    location as specified in your settings.
    
    This will overwrite existing files!
    Are you sure you want to do this?
    
    Type 'yes' to continue, or 'no' to cancel: yes
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\bas
    e.css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\cha
    ngelists.css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\das
    hboard.css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\for
    ms.css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\ie.
    css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\log
    in.css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\rtl
    .css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\css\wid
    gets.css'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\cha
    ngelist-bg.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\cha
    ngelist-bg_rtl.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\cho
    oser-bg.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\cho
    oser_stacked-bg.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\def
    ault-bg-reverse.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\def
    ault-bg.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\del
    eted-overlay.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n-no.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n-unknown.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n-yes.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_addlink.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_alert.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_calendar.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_changelink.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_clock.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_deletelink.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_error.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_searchbox.png'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\ico
    n_success.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\inl
    ine-delete-8bit.png'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\inl
    ine-delete.png'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\inl
    ine-restore-8bit.png'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\inl
    ine-restore.png'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\inl
    ine-splitter-bg.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\nav
    -bg-grabber.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\nav
    -bg-reverse.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\nav
    -bg-selected.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\nav
    -bg.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\sel
    ector-icons.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\sel
    ector-search.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\sor
    ting-icons.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    l-left.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    l-left_over.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    l-right.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    l-right_over.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    ltag-add.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    ltag-add_over.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    ltag-arrowright.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\too
    ltag-arrowright_over.gif'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\gis
    \move_vertex_off.png'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\img\gis
    \move_vertex_on.png'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\acti
    ons.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\acti
    ons.min.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\cale
    ndar.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\coll
    apse.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\coll
    apse.min.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\comp
    ress.py'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\core
    .js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\getE
    lementsBySelector.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\inli
    nes.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\inli
    nes.min.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\jque
    ry.init.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\jque
    ry.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\jque
    ry.min.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\LICE
    NSE-JQUERY.txt'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\prep
    opulate.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\prep
    opulate.min.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\Sele
    ctBox.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\Sele
    ctFilter2.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\time
    parse.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\urli
    fy.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\admi
    n\DateTimeShortcuts.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\admi
    n\ordering.js'
    Copying 'C:\Python25\lib\site-packages\django\contrib\admin\static\admin\js\admi
    n\RelatedObjectLookups.js'
    
    72 static files copied.
    
    D:\dev\history-site>
    

    更新2(10.06.2013 00:28):这是我的urls.py文件:

    from django.contrib.staticfiles.urls import staticfiles_urlpatterns
    from django.conf.urls import patterns, include, url
    from django.contrib import admin
    from django.conf import settings
    
    admin.autodiscover()
    
    
    urlpatterns = patterns('',
        (r'^$', 'history_site.views.home'),
        (r'^opinion/(\d+)$', 'history_site.views.opinion_details'),
        (r'^admin/', include(admin.site.urls)),
        (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
    )
    
    urlpatterns += staticfiles_urlpatterns()
    

2 个答案:

答案 0 :(得分:5)

缺少管理员的静态文件。当您使用DEBUG = True运行Django时,它将自动提供静态文件。在制作中你应该让你的网络服务器为它们服务(因为它们静态并且使用Django动态地为它们提供服务是浪费资源)。

我建议您查看this HOWTO。长话短说:

  1. STATIC_URL设置为您喜欢的任何内容(默认/static/即可。)
  2. STATIC_ROOT设置为一个目录,您的网络服务器将在STATIC_URL处为其提供文件。 (也就是说,当浏览器请求yourdomain.com/static/foo时,网络服务器应转到STATIC_ROOT并从那里获取foo
  3. 每次更改静态文件时执行./manage.py collectstatic。它会收集已安装应用中的所有文件(INSTALLED_APPS)并将其复制到STATIC_ROOT
  4. 如果是Django admin,它的静态文件也将由collectstatic收集(因为admin只是一个普通的应用程序,它位于INSTALLED_APPS)。

答案 1 :(得分:0)

尝试在settings.py中添加staticfiles应用:

INSTALLED_APPS = (
  # ...
  'django.contrib.staticfiles',
)