2013-02-09 4 views
0

Я новичок в Django, а css для области администратора не отображаются. во-первых, я создал приложение с загруженным модулем администратора и вот что я сделал:Rendering admin static files - DJANGO

настроил параметр setting.py, изменив режим отладки на false и добавил учетные данные базы данных. затем:

manage.py syncdb 

Creating tables ... 
Installing custom SQL ... 
Installing indexes ... 
Installed 0 object(s) from 0 fixture(s) 

-

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 '/Library/Python/2.7/site-packages/django/contrib/admin/static/admin/css/base.css' 
Copying '/Library/Python/2.7/site-packages/django/contrib/admin/static/admin/css/changelists.css' 
Copying '/Library/Python/2.7/site-packages/django/contrib/admin/static/admin/css/dashboard.css' 
Copying '/Library/Python/2.7/site-packages/django/contrib/admin/static/admin/css/forms.css' 
Copying '/Library/Python/2.7/site-packages/django/contrib/admin/static/admin/css/ie.css' 
Copying '/Library/Python/2.7/site-packages/django/contrib/admin/static/admin/css/login.css' 
Copying '/Library/Python/2.7/site-packages/django/contrib/admin/static/admin/css/rtl.css' 

(...)

, что я получаю, когда я запустить сервер

Development server is running at http://127.0.0.1:8000/ 
Quit the server with CONTROL-C. 
[09/Feb/2013 13:57:53] "GET /admin/ HTTP/1.1" 200 3270 
Traceback (most recent call last): 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run 
    File "/Library/Python/2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__ 
Traceback (most recent call last): 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run 
    File "/Library/Python/2.7/site-packages/django/core/handlers/wsgi.py", line 241, in __call__ 
    response = self.get_response(request) 
    response = self.get_response(request) 
    File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 153, in get_response 
    File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 153, in get_response 
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) 
    File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 228, in handle_uncaught_exception 
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info()) 
    File "/Library/Python/2.7/site-packages/django/core/handlers/base.py", line 228, in handle_uncaught_exception 
    return callback(request, **param_dict) 

домашняя страница дает «ошибка сервера Просим связаться с администратором. », я могу получить доступ к сайту site.com/admin/, но без css. Папка проекта выглядит следующим образом:

--project 
----manage.py 
----admin 
-------css 
-------img 
-------js 
----project 
-------setting.py 
-------urls.py 
-------wsgi.py 
-------__init__.py 

ответ

1

Во-первых, если вы используете сервер разработки (с python manage.py runserver), то вы должны иметь свой DEBUG значение ИСТИНА. Также похоже, что ваш параметр STATIC_ROOT не был установлен (или установлен в корень вашего проекта - это не то, что вы хотите, когда приходите, чтобы запустить свое приложение на производстве).

В файле settings.py вы должны убедиться, что у вас есть django.contrib.staticfiles, включенный в настройку INSTALLED_APPS. Затем убедитесь, что у вас установлен STATIC_URL (я думаю, что он должен по умолчанию /static/). Предполагая, что вы используете django 1.4 на dev-сервере django, все должно работать без необходимости запускать collectstatic.

Посмотрите документы на serving static files. Стоит отметить, что процесс обслуживания статических файлов отличается, когда вы делаете это на производственном сервере.

Смежные вопросы