Django

Contents
Introduction
Install Django
Commands
Add url
Related Articles

Introduction

  1. Install Python if it is not there.
  2. Decide what you need virtual environment or not
  3. Install Django

Installing Django on your host is quite simple - you can study the instructions below.

To install Django on virtual hosting It will take more manipulation. How to do it on the hosting Beget you can find out from my article

«Install Django on virtual hosting»

На многих современных хостингах процедура будет похожей.

Установка Django

Первым делом советую обновить pip

python3 -m pip install --upgrade pip

Затем непосредственно установить Django

python3 -m pip install django

Проверить установку

python3 -m django --version

3.2.4

или

python3 -m pip list

Package Version ----------------- -------- asgiref 3.3.4 Django 3.2.4 pip 21.1.2 pytz 2021.1 setuptools 39.0.1 sqlparse 0.4.1 typing-extensions 3.10.0.0

Команды Django

Список комад Django можно получить выполнив

python3 -m django help

Type 'python -m django help <subcommand>' for help on a specific subcommand. Available subcommands: [django] check compilemessages createcachetable dbshell diffsettings dumpdata flush inspectdb loaddata makemessages makemigrations migrate runserver sendtestemail shell showmigrations sqlflush sqlmigrate sqlsequencereset squashmigrations startapp startproject test testserver Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

В каждом проекте (project) обычно используется одно или несколько приложений (application)

Когда все приложения и конфигурации объединены они составляют веб-приложение.

applications + configurations = web application

Создаём первое приложение

python3 manage.py startapp first_app

Появится директория first_app в которой будут следующие файлы

admin.py

apps.py

__init__.py

migrations

models.py

tests.py

views.py

Переходим в директорию Project_Name/Project_Name

Редактируем файл Project_Name/Project_Name/settings.py

Нужно добавить в список установленных приложений наше новое приложение first_app

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

Перезапускаем сервер

python3 manage.py runserver

Если перезапуск осуществляется с помощью скрипта выполняем (насколько я знаю, это актуально для хостингов beget и dreamhost)

(docker) andreyolegovich@server:~/eth1.ru [0] $ touch tmp/restart.txt

Создаём view и связываем с url

Процесс состоит минимум из трёх действий

  1. В директории с приложением, например Project_Name/first_app в файле views.py нужно создать функцию, которая будет слушать url
  2. В главной директории проекта, например Project_Name/Project_Name в файле urls.py нужно импортировать эту функцию
  3. По-прежнему в urls.py нужно добавить сочетание url и функции в urlpatterns

Пример: Переходим в директорию с приложением Project_Name/first_app и редактируем views.py , чтобы создать наш первый view.

Каждый view должен возвращать какой-то HttpResponse объект.

Добавляем следущий код в файл Project_Name/first_app/views.py:

from django.http import HttpResponse def about(request):    return HttpResponse("About Us!")

Теперь нужно привязать этот view к какой-то url

Добавляем следующий код в файл urls.py

from first_app.views import about urlpatterns = [ path('', 'about') ]

В urlpatterns можно указывать url разными способами

urlpatterns = [ path('', welcome), # Главная страница сайта path('welcome.html', welcome), # url с расширением .html path('admin/', admin.site.urls), # url со слешем на конце path('date', date) # url без расширения ]

Обратите внимание на welcome - одна функция может обслуживать несколько url

Добавляем домен, на котором Вы разворачиваете сайт в ALLOWED_HOSTS файла (из проекта) settings.py

ALLOWED_HOSTS = ['http://www.eth1.ru','127.0.0.1','localhost','eth1.ru','www.eth1.ru']

Файлы Django
Project_Name
Project_Namefirst_apptemplates
__init.py__

__pycache__


settings.py

connection to first_app by
INSTALLED_APPS = ['first_app', ]
connection to templates by
TEMPLATES_DIR = os.path.join( BASE_DIR, "templates")


urls.py

wsgi.py
admin.py

apps.py

__init.py__

migrations

models.py

__pycache__

test.py

urls.py

views.py
first_app

Полезные ссылки

documentation

tutorial overview

Related Articles
DJANGO
Installation on hosting
How to choose hosting
Errors
Video Tutorials
Python
HTML
CSS
Bash
Docker
Frameworks
Banner Image

Search on this site

Subscribe to @aofeed channel for updates

Visit Channel

@aofeed

Feedbak and Questions in Telegram

@aofeedchat