Рубрики
Без рубрики

Учебник Django #1: Настройка проекта

Вы можете скачать исходный код этого урока здесь. https: //www.techjblog.com/index.php/django-tu … Tagged with Django, учебник, Python.

Вы можете скачать исходный код этого урока здесь. https://www.techjblog.com/index.php/django-tutorial-for-beginners/

Почему Джанго?

Основная цель Джанго-облегчить создание сложных сайтов, основанных на базе данных. Структура подчеркивает повторную способность и «борьбу с компонентами, меньше кода, низкую связь, быстрое развитие и принцип« Не повторять себя ».

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

Установите необходимые инструменты

Питон

Python-это язык программирования высокого уровня. Созданная Гвидо Ван Россумом и впервые выпущенная в 1991 году, философия дизайна Python подчеркивает читабельность кода благодаря заметному использованию значительных пробелов.

Философия дизайна языка обобщена как:

  • Красиво лучше уродливого.
  • Явное лучше, чем неявное.
  • Просто лучше, чем сложный.
  • Комплекс лучше, чем сложный.
  • Читабельности.

Большая стандартная библиотека Python, обычно называемая одной из самых сильных сторон, предоставляет инструменты, подходящие для многих задач. Джанго – один из них, который предназначен для веб -разработки.

Скачать Python

Пичам

Pycharm – это интегрированная среда разработки, используемая в компьютерном программировании, особенно для языка питона. Он разработан чешской компанией Jetbrains. В отличие от Phpstorm, о котором мы говорили в учебном пособии Laravel, у Pycharm есть версия сообщества, которую можно бесплатно использовать.

Скачать pycharm

Создайте новый проект Django

Откройте pycharm и создайте новый проект.

Убедитесь, что базовой интерпретатор является только что установил Python.exe.

Pycharm создаст виртуальную среду для проекта. Виртуальная среда гарантирует, что каждый проект Python использует независимую среду, которая не будет мешать друг другу. Если вы не используете Pycharm, не забудьте сделать это вручную.

Для настройки нашего проекта потребуется несколько минут, чтобы настроить наш проект. После того, как все сделано, это то, что вы должны получить:

Запустить сервер

Теперь мы можем начать сервер разработки, чтобы проверить, работает ли все. Откройте терминал, который расположен в нижнем левом углу, если вы используете Pycharm.

Он должен автоматически перейти в папку Project Root и активировать виртуальную среду. Если вы не используете Pycharm, вам, возможно, придется сделать это вручную. Запустите следующую команду:

python manage.py runserver

Вы увидите следующий вывод в командной строке:

Performing system checks...

System check identified no issues (0 silenced).

You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.

October 09, 2020 - 15:50:53
Django version 3.1, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Откройте браузер и перейдите к http://127.0.0.1:8000/

Создайте приложение для блога

Django позволяет создавать несколько приложений в одном проекте. Например, может быть приложение «блог», приложение «Галерея» и приложение «Форум» в одном отдельном проекте. Эти приложения могут делиться одними и теми же статическими файлами, изображениями, видео … или они могут быть полностью независимыми друг от друга. Зависит от вашей собственной потребности.

В этом уроке мы создадим только одно приложение «Блог». Вернитесь к терминалу и введите:

python manage.py startapp blog

Вы должны увидеть новый блог Папка, созданная в каталоге проекта.

Теперь нам нужно зарегистрировать это новое приложение с Django. Перейти к Django_31_tutorial/settings.py и найти Insted_apps :

INSTALLED_APPS = [
    'blog',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

Проектный каталог

Корневый каталог

  • Manage.py : Утилита командной строки, которая позволяет вам взаимодействовать с этим проектом Django по-разному.

Справочник проекта

  • Django_31_tutorial/__ init__.py : Пустой файл, который сообщает Python, что этот каталог следует считать пакетом Python.
  • Django_31_tutorial/settings.py : Как следует из названия, это настройки/конфигурация для этого проекта Django.
  • Django_31_tutorial/urls.py : Объявления URL для этого проекта Django; «Соглашение» вашего сайта Django. Мы поговорим больше об этом в следующей статье.
  • Django_31_tutorial/asgi.py : Точка входа для ASGI-совместимых веб-серверов для обслуживания вашего проекта.
  • Django_31_tutorial/wsgi.py : Точка входа для WSGI-совместимых веб-серверов для обслуживания вашего проекта.

Справочник приложений

  • блог/миграция : Эта папка содержит все файлы миграции для приложения блога. В отличие от Laravel, эти файлы автоматически генерируются Django.
  • блог/admin.py : Django также поставляется с панелью администратора, и этот файл содержит все конфигурации для него.
  • blog/models.py : Модели описывают структуру и отношение базы данных. Файлы миграции генерируются на основе этого файла.
  • блог/views.py : Это эквивалентно контроллерам в Ларавеле. Он содержит всю основную логику в этом приложении.

Конфигурация проекта

Прежде чем мы погрузимся в наш проект, есть некоторые изменения, которые мы должны внести в настройки.py файл.

Разрешенные хозяева

ALLED_HOSTS это список доменов, которые разрешается служить сайту Django. Это мера безопасности для предотвращения атак HTTP-хоста, которые возможны даже при многих, казалось бы, безопасных конфигураций веб-сервера.

Однако вы можете заметить, что даже если ALLED_HOSTS в настоящее время пуст, мы все еще можем получить доступ к нашему сайту, используя хост 127.0.0.1 Анкет Это потому, что когда Отладка это Истинный и ALLED_HOSTS пуст, хост проверяется против ['.localhost', '127.0.0.1', '[:: 1]'] Анкет

База данных

Базы данных это словарь, содержащий настройки для базы данных, которые необходим для нашего сайта. По умолчанию Django использует SQLite, которая является очень легкой взвешенной базой данных, используя только один файл. Этого должно быть достаточно для нашего небольшого проекта, но он не будет работать для больших сайтов. Итак, если вы хотите использовать другие базы данных, вот пример:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

Статические и медиа -файлы

И, наконец, нам нужно позаботиться о статических и медиа -файлах. Статические файлы – это файлы CSS и JavaScript, а медиа -файлы – это изображения, видео и другие вещи, которые пользователь может загрузить.

Статические файлы

Во -первых, нам нужно указать, где хранятся эти файлы. Для нашего сайта Django мы создадим Статический Папка в приложении блога. Здесь мы храним статические файлы для блог приложение во время разработки.

В Производство Окружающая среда, однако, все немного по -другому. Нам нужна другая папка под корневым каталогом нашего проекта. Назовем это Статическиефилы .

Затем мы указываем эту папку в настройки.py Анкет

STATIC_ROOT = 'staticfiles/'

Затем нам нужно сказать Джанго, какой URL использовать при доступе к этим файлам в браузере. Это не должно быть/статично, но убедитесь, что он не перекрывается с нашими конфигурациями URL, о которых мы поговорим в следующей статье.

STATIC_URL = '/static/'

СМИ файлы

СМИ файлы настроены так же. Мы создаем MediaFiles Папка в справочнике Project Root:

И затем мы указываем местоположение и URL:

MEDIA_ROOT = 'mediafiles/'
MEDIA_URL = '/media/'

В следующей статье мы поговорим о конфигурациях URL в Django.

Статьи по Теме

Как сделать ваш сервер более безопасным

Учебник для начинающих Ларавел

Django Tutorial для начинающих

Оригинал: “https://dev.to/ericnanhu/django-tutorial-1-setup-the-project-5djc”