Как связать мою HTML-форму с классом представления в Django

post_form.Html

Это Html-страница с формой для обновления и создания Как мы знаем, класс представления Create и Update в Django использует одну и ту же форму

 < form method="post"> {% csrf_token %} <div class="form-group"> <label for="PostInput">PostTitle</label> <input class="form-control" type="text" name="post" placeholder="Name" value="{{ post. postname }}"> </div> <div class="form-group"> <label for="descrInput">Description</label> <input class="form-control" type="text" id="descrInput" placeholder="Description" value="{{ post. description }}"> </div> <input type="submit" value="Save"> </form>

Views.py

class CreatePost(CreateView):
    model = post
    fields = ['title', 'content']

class UpdatePost(UpdateView):
    model = post
    fields = ['title', 'content']

Сейчас вопрос в том, как я могу связать эту форму с вышеуказанной html-страницей, которая уже имеет форму или поля ввода на самой веб-странице. Я знаю, как это сделать с помощью функций представления, но я не могу найти никаких материалов, учебников по этому вопросу. Любой материал по этому вопросу будет полезен

Вы можете переопределить CreateView().post() и UpdateView().post() методы следующим образом

class CreatePost(CreateView):
    model = post
    fields = ['title', 'content']
    
    def post(self, request, *args, **kwargs):
        # Get your data from post request eg. request.POST['mykey']
        return redirect('success_page')

class UpdatePost(UpdateView):
    model = post
    fields = ['title', 'content']

    def post(self, request, *args, **kwargs):
        # Get your data from post request eg. request.POST['mykey']
        return redirect('success_page')

Примечание : Вы создали свой класс модели post в нижнем регистре, что не является хорошей практикой, всегда называйте класс в CapWords. Поскольку вы написали свой класс в нижнем регистре, python будет рассматривать ваш класс post как post или это может привести к логической ошибке.

Вернуться на верх