Ръководство за начинаещи в Django: Бързо създаване на първото ви уеб приложение
Ръководство за начинаещи в Django: Бързо създаване на първото ви уеб приложение
Django е високопроизводителна Python уеб рамка, насочена към бързо разработване и изчистен дизайн. Тя следва архитектурата Модел-Шаблон-Изглед (MTV) и насърчава повторното използване на код и компоненти. Това ръководство ще ви преведе стъпка по стъпка през създаването на просто Django приложение, за да започнете бързо.
1. Настройка на средата
Първо, трябва да се уверите, че имате инсталиран Python на вашата система. Django препоръчва използването на Python 3.6 или по-нова версия.
1.1 Инсталиране на Python
Ако нямате инсталиран Python на вашата система, можете да го изтеглите и инсталирате от официалния уебсайт на Python.
1.2 Създаване на виртуална среда (Virtual Environment)
Силно се препоръчва да използвате виртуална среда, за да изолирате зависимостите между различните проекти.
-
Отворете терминал или команден промпт.
-
Създайте директория на проекта, например
myproject:mkdir myproject cd myproject -
Създайте и активирайте виртуална среда:
python3 -m venv venv # Или python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsСлед като активирате виртуалната среда, вашият терминален промпт ще покаже
(venv), което показва, че използвате виртуална среда.
1.3 Инсталиране на Django
В активираната виртуална среда използвайте pip, за да инсталирате Django:
pip install Django
Проверете дали инсталацията е успешна:
python -m django --version
Трябва да видите номера на версията на Django.
2. Създаване на Django проект
След като инсталирате Django, можете да създадете нов Django проект.
-
Все още в директорията на вашия проект (
myproject), изпълнете следната команда:django-admin startproject mysiteТова ще създаде директория с име
mysiteв директориятаmyproject, съдържаща скелетните файлове на Django проекта. -
Влезте в директорията
mysite:cd mysite -
Структурата на директорията на Django проекта е следната:
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Инструмент от командния ред за управление на Django проекти.mysite/: Python пакет, съдържащ конфигурацията на проекта.__init__.py: Празен файл, който казва на Python, че тази директория трябва да се третира като Python пакет.settings.py: Конфигурационен файл на проекта, например настройки на базата данни, режим на отстраняване на грешки и т.н.urls.py: Конфигурация на URL маршрутизацията, която картографира URL адресите към функциите за изглед.asgi.py: Конфигурационен файл на ASGI (Asynchronous Server Gateway Interface) за разполагане на асинхронни приложения.wsgi.py: Конфигурационен файл на WSGI (Web Server Gateway Interface) за разполагане на традиционни синхронни приложения.
3. Стартиране на сървъра за разработка
Django идва с лек сървър за разработка, който ви позволява да разработвате и тествате локално.
-
В директорията
mysiteизпълнете следната команда:python manage.py runserver -
Отворете браузъра си и посетете
http://127.0.0.1:8000/. Трябва да видите страницата "It worked! Congratulations on your first Django-powered page.".
4. Създаване на Django приложение
Един Django проект може да съдържа множество приложения. Нека създадем приложение, наречено myapp.
-
Отворете нов терминален прозорец (като запазите сървъра за разработка работещ).
-
В директорията
mysiteизпълнете следната команда:python manage.py startapp myappТова ще създаде директория, наречена
myappв директориятаmysite, която съдържа скелетните файлове на Django приложението. -
Структурата на директорията на Django приложението е следната:
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Празен файл, който казва на Python, че директорията трябва да се третира като Python пакет.admin.py: Използва се за конфигуриране на Django административния панел.apps.py: Конфигурация на приложението.migrations/: Използва се за управление на миграциите на базата данни.models.py: Дефинира моделите на данните (таблици в базата данни).tests.py: Писане на тестови случаи.views.py: Дефинира функциите за изглед, които обработват заявки и връщат отговори.
-
В
mysite/settings.pyдобаветеmyappкъм списъкаINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Добавете myapp ]
5. Създаване на прост изглед
Сега ще създадем прост изглед, който показва "Hello, Django!" в браузъра.
-
Редактирайте файла
myapp/views.pyи добавете следния код:from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Създайте файл
myapp/urls.pyи нанесете URL адреса към функцията за изглед:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
```
3. Включете `myapp/urls.py` в `mysite/urls.py`:
```python
from django.urls import include, path
from django.contrib import admin
urlpatterns = [
path('admin/', admin.site.urls),
path('myapp/', include('myapp.urls')), # Добавете URL конфигурацията на myapp
]
```
4. Посетете `http://127.0.0.1:8000/myapp/`. Трябва да видите страница с надпис "Hello, Django!".
## 6. Създаване на модел
Нека създадем прост модел за съхранение на данни.
1. Редактирайте файла `myapp/models.py` и добавете следния код:
```python
from django.db import models
class Question(models.Model):
question_text = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question_text
```
Това дефинира модел, наречен `Question`, който съдържа две полета: `question_text` (CharField) и `pub_date` (DateTimeField).
2. Създайте и приложете миграции на базата данни:
```bash
python manage.py makemigrations myapp
python manage.py migrate
```
Командата `makemigrations` ще създаде файлове за миграция въз основа на вашия модел, а командата `migrate` ще приложи миграциите към базата данни.
## 7. Използване на Django административен панел
Django предлага мощен административен панел, който улеснява управлението на вашите данни.
1. Създайте суперпотребител:
```bash
python manage.py createsuperuser
```
Следвайте инструкциите, за да въведете потребителско име, имейл и парола.
2. Редактирайте файла `myapp/admin.py` и регистрирайте модела `Question`:
```python
from django.contrib import admin
from .models import Question
admin.site.register(Question)
```
3. Посетете `http://127.0.0.1:8000/admin/` и влезте с потребителското име и паролата на суперпотребителя, които създадохте. Трябва да видите модул "Questions", където можете да добавяте, редактирате и изтривате въпроси.
## 8. Използване на шаблони
Използването на шаблони позволява по-гъвкаво генериране на HTML страници.
1. В директорията `myapp` създайте директория с име `templates` и в директорията `templates` създайте директория с име `myapp` ( `myapp/templates/myapp` ).
2. В директорията `myapp/templates/myapp` създайте файл с име `index.html` и добавете следния код:
```html
Hello, Django!
The current time is: {{ current_time }}
```
3. Редактирайте файла `myapp/views.py`, използвайте шаблона:
```python
from django.shortcuts import render
import datetime
def index(request):
now = datetime.datetime.now()
return render(request, 'myapp/index.html', {'current_time': now})
```
`render` функцията ще зареди шаблона и ще предаде данните на шаблона за рендиране.
4. Посетете отново `http://127.0.0.1:8000/myapp/`. Трябва да видите страница, съдържаща текущото време.
## 9. Заключение
Чрез това ръководство научихте основните концепции и методи за използване на Django, включително настройка на средата, създаване на проекти и приложения, дефиниране на модели, създаване на изгледи и използване на шаблони. Това е само началото, Django предлага богати функции, можете да продължите да учите и изследвате, за да изградите по-сложни уеб приложения.





