ledo02
@ledo02

Как синхронизировать в django форму c БД?

Я недавно начал разбираться что такое djanga, по этому прошу объяснять как можно проще)

В Django 2.2 я создаю форму, которая, после заполнения, должна все введённые данные вставить в БД.
Но этого не происходит!
Уже много часов не могу найти решение, очень прошу помочь.

models.py
from django.db import models
from django.forms import ModelForm

class compani_information(models.Model):
    name = models.CharField('Название', max_length = 40)
    email = models.URLField('Сайт', blank = True, null = True, help_text = 'не обязат.')
    site = models.EmailField('Элекстронная почта')
    tel = models.CharField('Телефон', max_length = 25)
    tel2 = models.CharField('Телефон (доп.)', max_length = 25, blank = True, null = True, help_text = 'не обязат.')
    inn = models.CharField('ИНН организации', max_length = 16)

    def __str__(self):
        return self.name

    class Meta:
        verbose_name = 'компания'
        verbose_name_plural = 'компании'


views.py
from .models import compani_information
from .forms import compani_information_form
from django.http import Http404, HttpResponseRedirect
from django.shortcuts import render
from django.urls import reverse

def compani_reg(request):
    if request.method == "POST":
        form = compani_information_form(request.POST)

        if form.is_valid():
            # form.save()
            new_hydrant = form.save()
            # return HttpResponseRedirect(reverse('reg.html', args=(new_hydrant.id,)))
            return HttpResponseRedirect('reg.html')
            # return render(request, 'lk.html')
    else:
        return render(request, 'reg.html', {"form": compani_information_form()})


# def compani_reg_save_post(request):
#    name = request.POST["name"]
#    email = request.POST["email"]
#    site = request.POST["site"]
#    tel = request.POST["tel"]
#    tel2 = request.POST["tel2"]
#    img = request.POST["img"]


forms.py
from django.forms import ModelForm
from .models import compani_information

# Create the form class.
class compani_information_form(ModelForm):

    class Meta:
        model = compani_information
        # инпут и их последовательность, которые будут выводиться
        fields = '__all__'
  • Вопрос задан
  • 46 просмотров
Решения вопроса 1
dimonchik2013
@dimonchik2013
non progredi est regredi
https://tutorial.djangogirls.org/ru/

ближе к последней статье
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы