Я делаю сайт администратора Django, используя версию для разработки Django
Но у него нет стиля CSS:
А что я могу сделать?
благодаря
Я делаю сайт администратора Django, используя версию для разработки Django
Но у него нет стиля CSS:
А что я могу сделать?
благодаря
Ответы:
Django не обслуживает статические файлы самостоятельно. Вы должны указать ему, где находятся файлы.
ADMIN_MEDIA_PREFIX в settings.py укажет Джанго в нужном месте.
Поскольку вы используете версию для разработки, вам понадобится специальный документ для разработчиков с инструкциями по статическим файлам . Ссылка Адама приведет вас к версии 1.2.
источник
После настройки
STATIC_ROOT
иSTATIC_URL
вам, возможно, придется запуститьpython manage.py collectstatic
источник
STATIC_ROOT
и то же имя для иSTATIC_URL
, например: я объединил «staticfiles» и «static» , использовалSTATIC_ROOT=os.path.join(BASE_DIR, "staticfiles")"
иSTATIC_URL="/static/"
. Мое приложение работало нормально, но файлы администратора найти не удалось. так что измените его как на «staticfiles», так и на «static»ADMIN_MEDIA_PREFIX
устарел, используйтеSTATIC_URL
вместо него. НастройкаSTATIC_URL = '/static/'
в settings.py должна работать. Пытаться:import os.path import sys PROJECT_ROOT = os.path.normpath(os.path.dirname(__file__))
а потом:
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'static') STATIC_URL = '/static/'
Работает на Django 1.4 pre-alpha SVN-16920.
источник
static/admin
внутри,static/css/
я могу получить доступ к файлам css. Таким образом, кажется, что я могу получить доступ к файлам css, только если они находятся внутри,static/files
но collectstatic не помещает их туда. Конечно, перемещение папки вручную просто не работает, потому что шаблоны продолжают указывать наstatic/admin
.Я столкнулся с этой проблемой, следуя руководству по Django Book. В главе 5 | Установка модели при обращении к INSTALLED_APPS по умолчанию в книге говорится: «Временно закомментируйте все шесть из этих строк, поставив перед ними символ решетки (#)». http://www.djangobook.com/en/2.0/chapter05.html
Затем, в главе 6, Книга предлагает читателю раскомментировать 4 из этих 6 строк - «обратите внимание, что мы закомментировали эти четыре записи INSTALLED_APPS в главе 5. Раскомментируйте их сейчас».
Но строка statcifiles - это то, что нужно для восстановления CSS на странице администратора, поэтому раскомментируйте это 'django.contrib.staticfiles',
источник
Я прочитал несколько других тем, пытающихся исправить это ... прибегал к псевдониму, как и в других потоках. Это предполагает, что ваше собственное приложение правильно обслуживает статические файлы, что означает, что ваши STATIC_ROOT и STATIC_URL имеют правильные настройки.
STATIC_ROOT = '' STATIC_URL = '/static/'
Затем (из вашего статического каталога):
ubuntu@ip-1-2-3-4:/srv/www/mysite.com/app_folder/static$ sudo ln -s /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/ admin
Надеюсь, это кому-то поможет ... на эту тему много веток. :(
источник
В
/project_name/project_name/settings.py
вам нужно установить ,STATIC_URL
чтобы сказать , что ваш сайт URL , чтобы использовать для статических файлов.Затем установите
STATIC_ROOT
какую-то папку в вашей файловой системе, которая не совпадает с любой из ваших каталогов, перечисленных вSTATICFILES_DIRS
списке.Как только он
STATICFILES_ROOT
будет установлен, вы запустите егоpython manage.py collectstatic
из каталога проекта.Это скопирует все статические файлы администратора и все файлы в любые другие папки, перечисленные в
STATICFILES_DIRS
списке. По сути, это помещает все ваши статические файлы в одно место, чтобы вы могли переместить их в CDN при развертывании сайта. Если вы похожи на меня и у вас нет CDN, у вас есть два варианта:STATIC_ROOT
вSTATICFILES_DIRS
список. Это позволит поисковикам статических файлов в django найти все статические файлы.STATICFILES_DIRS
это новое местоположение.В этом ответе я не комментирую безопасность, это просто способ, которым я смог разработать свой веб-сервер для небольших проектов. Я ожидаю, что вам понадобится CDN, как предлагает django, если вы делаете что-то более масштабное.
ОБНОВЛЕНИЕ: я только что столкнулся с этой проблемой, и этот метод не совсем сделал то, что я думаю, вы хотите. Что в итоге сработало для меня, так это то, что после запуска
collectstatic
я просто скопировал статические файлы администратора, которые он поместил вSTATICFILES_ROOT
каталог, который я использовал для своих собственных статических файлов. Это решило проблему для меня.источник
Помимо того, что многие другие ответы были полезны, у меня была проблема, которую еще не заметили. После обновления с Django 1.3 до 1.6 в моем каталоге статических файлов была неработающая символическая ссылка на статические файлы администратора django.
Мой settings.py был настроен с помощью:
STATICFILES_DIRS = ( '/var/www/static/my-dev', )
Согласно этому ответу ,
У меня была символическая ссылка,
/var/www/static/my-dev/admin
которая была установлена на:admin -> /usr/local/lib/python2.7/dist-packages/django/contrib/admin/media/
Это место больше не существует в django 1.6, поэтому я обновил ссылку:
admin -> /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/
И теперь мой админ-сайт работает нормально.
источник
Если вы используете сервер Apache для размещения своего сайта django, вам необходимо убедиться, что статический псевдоним указывает на ваш каталог / site / site_media / static /. Если ваши статические файлы находятся в / каталоге сайта / site / site_media / static /, предыдущая конфигурация псевдонима Apache не будет работать.
источник
Следуя руководству по Django, у меня была аналогичная проблема, и в моем случае проблема заключалась в типе mimetype, используемом сервером разработки при обслуживании файлов css.
Обслуживаемый mimetype был application / x-css, что привело к появлению следующего предупреждающего сообщения в Chrome (на вкладке «Сеть» инструментов разработчика):
Обходной путь, который я нашел: изменение mimetype, который будет обслуживаться, путем добавления следующих строк в файл manage.py django webapp:
import mimetypes mimetypes.init() mimetypes.types_map['.css'] = 'text/css'
Примечание: у меня работал с Django 1.7.4 на Python 2.7 и Chrome 40.0
источник
Content-Type: text/plain
и не отображаются на странице.Такая же проблема, с которой я столкнулся при разработке сайта на django-1.10.5 и python-2.7.13. Но в моем firefox-51 и chrome страница входа могла получить css, но все еще не было стиля. Но, как ни странно, он работал на IE-8 ..
Я пробовал делать все возможное, упомянутое здесь и подходящее для моего набора версий ПО. Ни один не работал.
Но когда я попробовал тот же сайт в другой системе с python-2.7.8, он сработал.
Просто опубликовал, если это может кому-то помочь ...
отредактировано: позже я обнаружил, что в python-2.7.13 написание следующих двух строк в settings.py (плюс очистка кеша браузера) помогло
import mimetypes mimetypes.add_type("text/css", ".css", True)
источник
Моя проблема была решена путем создания новой виртуальной среды для проекта, до этого я использовал интерпретатор Python общего уровня системы.
Ссылка: https://docs.djangoproject.com/en/2.1/howto/windows/
источник
Убедитесь, что это
'django.contrib.staticfiles'
находитсяINSTALLED_APPS
в вашем settings.pyисточник
бежать:
python manage.py collectstatic
Добавьте эту строку в Vhost, который находится по адресу: /etc/apache2/sites-available/000-default.conf
Вот вся настройка Vhost для настройки django
<VirtualHost *:80> ServerName gautam.tech ServerAlias www.gautam.tech WSGIDaemonProcess gautam.tech python-path=/var/www/html/gautam.tech python-home=/var/www/html/gautam.tech/venv WSGIProcessGroup gautam.tech #Your static files location Alias /static /var/www/html/gautam.tech/static Alias /media/ /var/www/html/gautam.tech/media Alias /static/admin/ /var/www/html/gautam.tech/static/admin <Directory /var/www/html/gautam.tech/static> Require all granted </Directory> <Directory /var/www/html/gautam.tech/media> Require all granted </Directory> WSGIScriptAlias / /var/www/html/gautam.tech/myproject/wsgi.py DocumentRoot /var/www/html/gautam.tech <Directory /var/www/html/gautam.tech> <Files wsgi.py> Require all granted </Files> </Directory> CustomLog /var/www/html/gautam.tech/access.log combined ErrorLog /var/www/html/gautam.tech/error.log </VirtualHost>
Это точно сработает!
источник
Проблема заключается в сервере dev / test / prod и использовании Nginx, выполните следующие действия.
установите конфигурации в settings.py, как показано ниже
STATIC_URL = '/static/' BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_ROOT = os.path.join(BASE_DIR, 'static')
Выполните приведенную ниже команду, чтобы создать файлы css и js в статической папке.
$ python manage.py collectstatic
config в / etc / nginx / sites-enabled / example (Nginx) для обслуживания статических файлов
location /static/ { alias /project/root/folder/static/; }
источник
это работает нормально и легко. Я переместил (вручную) папку. просто вам нужно скопировать его
static/admin
из каталога основного проекта и вставить его в public_html,static/
если нет статической папки, вам нужно запустить следующую команду в терминалеpython manage.py collectstatic
здесь вы идете с css, работающим с администратором Django
источник
Если у вас есть значение, установленное в settings.py для STATICFILES_DIRS, а объявленная папка не существует или находится в неправильном месте, это приведет к тому, что администратор не будет иметь стиля, например, путем определения STATICFILES_DIRS = (os.path.join (BASE_DIR, "static" )) и статическая папка не существует
источник
Я потерпел неудачу после того, как попробовал тысячи предложений, и наконец нашел решение, которое помогло. Вот что я пробовал и что использовал. Я использую веб-сервер django-1.11 и nginx. Во-первых, я убедился, что мои файлы CSS / js не получают 404 в консоли браузера. После этого я мог видеть предупреждение
Я нашел base.html в шаблонах администратора и удалил
type="text/css"
и теперь строки выглядят так:
<link rel="stylesheet" href="{% block stylesheet %}{% static "admin/css/base.css" %}{% endblock %}" />
Это устранило проблему для меня.
источник
Настройка статических файлов. Убедитесь, что они
django.contrib.staticfiles
включены в ваш INSTALLED_APPS. .В вашем файле settings.py определите STATIC_URL, например:
STATIC_URL = '/static/'
для более подробной информации статические файлы
источник
Панель администратора работала нормально, за исключением того, что css не загружался. Это работало для Lightsail Django с Apache
1. Определите STATIC_ROOT и STATIC_URL в
settings.py
STATIC_ROOT = '/opt/bitnami/projects/decisions/decision/' STATIC_URL = '/static/'
2. Извлечь (скопировать) файлы ресурсов администратора в проект
запустите
python manage.py collectstatic
эту команду, чтобы создать/opt/bitnami/projects/decisions/decision/admin
папку сcss/
fonts/
img/
js/
подпапками3. Сделайте / статический URL-адрес доступным из apache
Вставьте этот фрагмент
/opt/bitnami/apache2/conf/bitnami/bitnami.conf
(если вы настроили ssl, местоположение файла будет/opt/bitnami/apache2/conf/bitnami/bitnami-ssl.conf
)Alias /static/ "/opt/bitnami/projects/decisions/decision/" <Directory "/opt/bitnami/projects/decisions/decision/"> Order allow,deny Options Indexes Allow from all IndexOptions FancyIndexing </Directory>
4. Не забудьте перезапустить apache.
sudo /opt/bitnami/ctlscript.sh restart apache
источник