prog:python:django

Django

cd django

  1. Встановлення пітона sudo apt install python3-pip
  2. Встановлення віртуального оточення sudo pip install pipenv
  3. Встановлення джанго pipenv install django==3.0
  4. Робоча консоль для джанго pipenv shell
  5. Створення нового проекта Джанго в робочій директорії - django-admin startproject test_project .
  6. Створення нового додадку (категорії сайта) - python3 manage.py startapp main
  7. Зареєструвати новий додадок в setting.py INSTALLED_APPS - 'main',
  8. Створити папку jango/main/templates/main / для шаблонів ХТМЛ сторінок
  9. Налаштувати jango/urls.py
from django.contrib import admin
from django.urls import path, include
 
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('main.urls'))
]

Підключити jango/main/urls.py

from django.urls import path
from . import views
 
urlpatterns = [
    path('', views.index),
    path('about', views.about),
 
]

Запуск локального веб-сервера

python3 manage.py runserver

  1. Створити шаблон в main/templates/main/newpage.html
  2. Підключити сторінку в urls.py
  3. Додати функцію в main/views.php яка буде обробляти запрос на отримання сторінки з шаблону та виводити інфу в браузер
  4. За потреби підключити base.html до нової сторінки або скопіювать шаблон з іншої сторінки

1. Створити модуль (таблиця в базі даних) в models.py

class Task(models.Model):
    title = models.CharField('Назва', max_length=50)
    task = models.TextField('Опис')
 
    def __str__(self):
        return self.title
 
    class Meta: # Змінити вигляд назви в адмінці для цієї таблиці.
        verbose_name = 'Завдання'
        verbose_name_plural = 'Завдання'

1.1. Створити міграцію нового модуля “python3 manage.py makemigrations

1.2. Виконати міграцію python3 manage.py migrate

1.3. Зареєструвати таблицю бд в admin.py

from django.contrib import admin
from .models import Task
 
admin.site.register(Task)

2. Підключити модуль до forms.py та створити нову форму. В цій формі можна додавати класи до інпутів

class TaskForm(ModelForm):
    class Meta:
        model = Task
        fields = ['title', 'task']
        widgets = {
            'title': TextInput(attrs={
                'class': 'form-control',
                'placeholder': 'Введіть назву'
        }),
        'task': Textarea(attrs={
                'class': 'form-control',
                'placeholder': 'Введіть опис'
        }),
 
        }

3. Створити шаблон сторінки newpage.html

4. Підключити шаблон в urls.php

urlpatterns = [
    path('', views.index, name='home'),
    path('about', views.about, name='about'),
    path('create', views.create, name='create'),
 
]

5. Додати функцію в main/views.php яка буде обробляти запрос на отримання сторінки з шаблону та виводити інфу в браузер. Також підключити models.py i forms.py до views.php

def create(request):
    error = ''
    if request.method == 'POST':
        form = TaskForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('home')
        else:
            error = 'Форма заповнена некоректно'
 
    form = TaskForm()
    context = {
        'form': form,
        'error': error
    }
    return render(request, 'main/create.html', context)

python3 manage.py createsuperuser

  • login
  • email
  • password
  • prog/python/django.txt
  • Востаннє змінено: 18/06/2024 07:25
  • (зовнішнє редагування)