Django
Страницата е създадена на:20 декември 2018 и редактирана на:29 юни 2021
Django - основана на Python среда за разработка за Интернет(колекция връзки)
Django е рамка за създаване на приложения за Интернет на език за програмиране Python.
Подробно процесът на инсталиране е описан в How to install Django | Django documentation | Django.
С команда:
python3 -m venv ~/.virtualenvs/djangodev
се създава работна среда за Django в директория ~/.virtualenvs/djangodev
.
С команда:
source ~/.virtualenvs/djangodev/bin/activate
същата се активира.
Инсталирането се извършва с команда:
python -m pip install django
Дали е успешно инсталирането се проверява с:
python -m django --version
При успешно преминало инсталиране се показва номера на инсталираната версия.
Създаване на нов проект в текущата директория се извършва с команда:
django-admin startproject имеНаДиректория
В текущата директория се създава поддиректория с посоченото в командата име. Влизането в нея и подаването на команда:
python manage.py runserver
стартира интернет сървър и може да прегледате през браузър новия проект на адрес: http://127.0.0.1:8000
. Показва се страница по подразбиране, съдържаща хипрвръзки към някои основни материали за Django. Портът на сървъра от 8000, може да промените, например, на 8080 с използване за стартиране на сървъра на команда: python manage.py runserver 8080
При стертиране на сървара е възможно да се покаже съобщение "You have ... unapplied migration(s)...". В такъв слячай трябва да се спре сървъра (Ctrl+C) и да се изпълнят командите:
python manage.py makemigrations
python manage.py migrate
след което сървърът може да се стартира отново.
Дори така стартираният най-прост проект има панел за управление на адрес: http://127.0.0.1:8000/admin
. Потребителско име и парола за главен администратор се задава преди стартиране на сървъра с команда:
python manage.py createsuperuser
Контролният панел по подразбиране позволява въвеждане на групи потребители и потребители.
Команда:
python manage.py startapp имеНаПриложение
създава поддиректория с посоченото име, предназначена за ново приложение. Името на приложението трябва се добави в масива INSTALLED_APPS
във файл: settings.py
на проекта.
За визуализиране на страници в Django заявените URL-и се свързват с изгледи. Валидните в проекта URL-и се дефинират като елементи на масив urlpatterns във файл urls.py от директорията на проекта. В този масив се добавят URL-ите, дефинирани в приложение чрез добавяне на ред:
path('', include('имеНаПриложение.urls'))
В директорията на приложението трябва да има файл с име urls.py, в който валидните за приложението URL-и се свързват с дафинирани в приложението изгледи. Примерно съдържание на този файл:
from django.urls import path
from . import views
urlpatterns = [
path('', views.имеНаИзглед, name='имеНаИзглед'),
]
където посоченото имеНаИзглед
трябва да е изглед, дефиниран във файл views.py
в директорията на приложението. Изгледите са функции, които генерират и връщат предвиденият отговор на сървъра към клиента, съответстващ на изискания от клиента URL. Например:
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world.")
За генериране на отговора може да се използват шаблони, които са html файлове от директория templates на приложението. За по-добра организация, в тази директория се изгражда структура от поддиректории. Шаблоните съдържат html код и променливи, тагове, филтри или коментари. (Вижте Templates | Django documentation | Django)
Най-прост пример за изглед, който връща генериран чрез шаблон отговор:
from django.shortcuts import render
def index(request):
return render(request, 'myApp/index.html', {})
Ако новото приложение ще използва база данни (по подразбиране - SQLight), то една от първите стъпки е да се дефинира моделът на данните. Това се прави във файл имеНаПриложение/models.py
(Вежте: Models | Django documentation | Django) След данифиране на всеки необходим клас обекти и неговите свойства, за създаване на таблиците за съхраняване на данните в базата данни се подава двойка команди:
python manage.py makemigrations имеНаПриложение
python manage.py migrate имеНаПриложение
(Вижте: Migrations | Django documentation | Django).
Данните за обекти от дефинирания клас ще може да се администрират през панела за управление, ако във файл имеНаПриложение/admin.py
се добават следните редове:
from .models import ИмеНаКласОбекти
admin.site.register(ИмеНаКласОбекти)
Предишна страница: Composer
Следваща страница: Docker