Часто задаваемые вопросы: использование Django

Почему у меня появляется ошибка при импорте DJANGO_SETTINGS_MODULE ?

Убедитесь, что:

  • Переменная окружения DJANGO_SETTINGS_MODULE установлен на полностью квалифицированный модуль Python (например, "mysite.settings").
  • Указанный модуль находится в sys.path ( должен работать).import mysite.settings
  • Модуль не содержит синтаксических ошибок.

Я не могу поддерживать ваш язык шаблонов. Я должен его использовать?

Иногда мы думаем, что наш шаблонизатор - это лучшее, что есть на свете, но мы понимаем, что выбор языка шаблонов близок к выбору религии. В Django нет ничего, что требовало бы использования его языка шаблонов, поэтому, если вам нравится Jinja2, Mako или что-то еще, не стесняйтесь их использовать.

Должен ли я использовать ваш уровень модели / базы данных?

Нет. Как и система шаблонов, уровень модели / базы данных отделен от остальной системы.

Единственное исключение: если вы используете другую библиотеку базы данных, вы не сможете использовать сайт администратора, автоматически созданный Django. Это приложение связано с уровнем базы данных Django.

Как я могу использовать поля изображения и файла?

Использование поля FileField или поля ImageField в модели включает несколько шагов:

  1. В вашем файле настроек вы должны указать MEDIA_ROOT абсолютный путь к каталогу, в котором Django может сохранять загруженные файлы (из соображений производительности эти файлы не хранятся в базе данных). Укажите в MEDIA_URL базовом общедоступном URL-адресе, соответствующем этому каталогу. Убедитесь, что этот каталог доступен для записи пользователю веб-сервера.
  2. Добавьте поле FileField или ImageField в свой шаблон, установив параметр, upload_to указывающий, в какой подкаталог MEDIA_ROOT файлы должны быть загружены.
  3. Все, что будет храниться в базе данных, - это путь к файлу (относительно MEDIA_ROOT ). Атрибут, url предлагаемый Django, очень удобен и распространен . Например, при рассмотрении ImageField именованного изображения mug_shot вы можете получить абсолютный URL-адрес этого изображения в шаблоне с помощью .{{ object.mug_shot.url }}

Как сделать переменную доступной для всех моих шаблонов?

Иногда всем вашим шаблонам требуется одно и то же. Типичный пример - динамически генерируемые меню. На первый взгляд кажется логичным добавить общий словарь в контекст шаблона.

Лучший способ сделать это с помощью Django - использовать файл RequestContext . Подробности о том, как это сделать, можно найти здесь: Использование RequestContext .

Copyright ©2020 All rights reserved