Ръководство за начинаещи в Django: Бързо създаване на първото ви уеб приложение

2/19/2026
6 min read

Ръководство за начинаещи в Django: Бързо създаване на първото ви уеб приложение

Django е високопроизводителна Python уеб рамка, насочена към бързо разработване и изчистен дизайн. Тя следва архитектурата Модел-Шаблон-Изглед (MTV) и насърчава повторното използване на код и компоненти. Това ръководство ще ви преведе стъпка по стъпка през създаването на просто Django приложение, за да започнете бързо.

1. Настройка на средата

Първо, трябва да се уверите, че имате инсталиран Python на вашата система. Django препоръчва използването на Python 3.6 или по-нова версия.

1.1 Инсталиране на Python

Ако нямате инсталиран Python на вашата система, можете да го изтеглите и инсталирате от официалния уебсайт на Python.

1.2 Създаване на виртуална среда (Virtual Environment)

Силно се препоръчва да използвате виртуална среда, за да изолирате зависимостите между различните проекти.

  1. Отворете терминал или команден промпт.

  2. Създайте директория на проекта, например myproject:

    mkdir myproject
    cd myproject
    
  3. Създайте и активирайте виртуална среда:

    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 проект.

  1. Все още в директорията на вашия проект (myproject), изпълнете следната команда:

    django-admin startproject mysite
    

    Това ще създаде директория с име mysite в директорията myproject, съдържаща скелетните файлове на Django проекта.

  2. Влезте в директорията mysite:

    cd mysite
    
  3. Структурата на директорията на Django проекта е следната:

    mysite/
        manage.py
        mysite/
            __init__.py
            settings.py
            urls.py
            asgi.py
            wsgi.py
    
    • manage.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 идва с лек сървър за разработка, който ви позволява да разработвате и тествате локално.

  1. В директорията mysite изпълнете следната команда:

    python manage.py runserver
    
  2. Отворете браузъра си и посетете http://127.0.0.1:8000/. Трябва да видите страницата "It worked! Congratulations on your first Django-powered page.".

4. Създаване на Django приложение

Един Django проект може да съдържа множество приложения. Нека създадем приложение, наречено myapp.

  1. Отворете нов терминален прозорец (като запазите сървъра за разработка работещ).

  2. В директорията mysite изпълнете следната команда:

    python manage.py startapp myapp
    

    Това ще създаде директория, наречена myapp в директорията mysite, която съдържа скелетните файлове на Django приложението.

  3. Структурата на директорията на 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: Дефинира функциите за изглед, които обработват заявки и връщат отговори.
  4. В 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!" в браузъра.

  1. Редактирайте файла myapp/views.py и добавете следния код:

    from django.http import HttpResponse
    
    def index(request):
        return HttpResponse("Hello, Django!")
    
  2. Създайте файл 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 предлага богати функции, можете да продължите да учите и изследвате, за да изградите по-сложни уеб приложения.
Published in Technology

You Might Also Like

📝
Technology

Claude Code Buddy 修改指南:如何获得闪光传说级宠物

Claude Code Buddy 修改指南:如何获得闪光传说级宠物 2026年4月1日,Anthropic 在 Claude Code 2.1.89 版本中悄然上线了一个彩蛋功能——/buddy 宠物系统。在终端输入 /buddy 后,一...

Obsidian пусна Defuddle, повишавайки Obsidian Web Clipper до ново нивоTechnology

Obsidian пусна Defuddle, повишавайки Obsidian Web Clipper до ново ниво

Obsidian пусна Defuddle, повишавайки Obsidian Web Clipper до ново ниво Винаги съм харесвал основната концепция на Obsid...

OpenAI внезапно обяви "три в едно": сливане на браузър, програмиране и ChatGPT, вътрешно признавайки, че е поело грешен курс през последната годинаTechnology

OpenAI внезапно обяви "три в едно": сливане на браузър, програмиране и ChatGPT, вътрешно признавайки, че е поело грешен курс през последната година

OpenAI внезапно обяви "три в едно": сливане на браузър, програмиране и ChatGPT, вътрешно признавайки, че е поело грешен ...

2026, не се насилвайте да бъдете "дисциплинирани"! Правете тези 8 малки неща и здравето ще дойде естественоHealth

2026, не се насилвайте да бъдете "дисциплинирани"! Правете тези 8 малки неща и здравето ще дойде естествено

2026, не се насилвайте да бъдете "дисциплинирани"! Правете тези 8 малки неща и здравето ще дойде естествено Нова година...

Майките, които се опитват да отслабнат, но не успяват, определено са попаднали тукHealth

Майките, които се опитват да отслабнат, но не успяват, определено са попаднали тук

Майките, които се опитват да отслабнат, но не успяват, определено са попаднали тук Март вече е наполовина, как върви тв...

📝
Technology

AI Browser 24小时稳定运行指南

AI Browser 24小时 стабилен режим на работа Този урок представя как да настроите стабилна, дългосрочна среда за работа с AI...