Ръководство за начинаещи в 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 открито заявява: След месец, без Plan Mode, титлата софтуерен инженер ще изчезнеTechnology

Предупреждение! Бащата на Claude Code открито заявява: След месец, без Plan Mode, титлата софтуерен инженер ще изчезне

Предупреждение! Бащата на Claude Code открито заявява: След месец, без Plan Mode, титлата софтуерен инженер ще изчезне ...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 С развитието на дълбокото обучение в различни области, все повече учебни ресурси и инструменти се ...

2026年 Top 10 AI 代理:核心卖点解析Technology

2026年 Top 10 AI 代理:核心卖点解析

2026年 Top 10 AI 代理:核心卖点解析 引言 С бързото развитие на изкуствения интелект, AI агенти (AI Agents) станаха гореща тема в тех...

2026年 Top 10 AI 工具推荐:释放人工智能的真正潜力Technology

2026年 Top 10 AI 工具推荐:释放人工智能的真正潜力

2026年 Top 10 AI 工具推荐:释放人工智能的真正潜力 В днешния ден, когато технологиите напредват с бързи темпове, изкуственият интелект (AI...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 В бързо развиващата се област на облачните изчисления, Amazon Web Services (AWS) винаги е била л...