Форум программистов, компьютерный форум, киберфорум
Python: Django
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 01.11.2018
Сообщений: 32
1

Не работает метод пост при нажатии на кнопку

23.11.2019, 19:01. Показов 2979. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Осваиваю Django формы и возникла такая проблема... Я сделал форму которая создает тег, шаблон, фьюха и форма вроде офформлены правильно, метод get(), работает, но при нажатии на кнопку, даже если не определять метод post, не вы полняется не ошибка не сам метод post.В чём может быть проблема?

Сама форма:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from django import forms
from blog.models import Tag, Post
from django.core.exceptions import ValidationError
 
 
class TagForm(forms.Form):
    class Meta:
        model = Tag
        fields = ['title', 'slug']
 
        widgets = {
            'title': forms.TextInput(attrs={'class': 'form-control'}),
            'slug': forms.TextInput(attrs={'class': 'form-control'}),
        }
 
    def clean_slug(self):
        new_slug = self.cleaned_data['slug'].lower()
 
        if new_slug == 'create':
            raise ValidationError('Slug must not be created')
        if Tag.objects.filter(slug__iexact=new_slug).count():
            raise ValidationError('Slug must be unique. We have "{}" slug already'.format(new_slug))
 
        return new_slug
урлы:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
from django.urls import path
from .views import *
 
# some-article
 
urlpatterns = [
    path('', posts_list, name='posts_list_url'),
    path('post/create/', PostCreate.as_view(), name='post_create_url'),
    path('post/<str:slug>/', PostDetail.as_view(), name='post_detail_url'),
    path('tags/', tag_list, name='tag_list_url'),
    path('tag/create', TagCreate.as_view, name='tag_create_url'),
    path('tag/<str:slug>', TagDetail.as_view(), name='tag_detail_url'),
]

вьюха:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from django.shortcuts import render, redirect
from django.http import HttpResponseRedirect
from django.views.generic import View
 
from blog.models import Post, Tag
from blog.forms import TagForm, PostForm
from .utils import ObjectDetailMixin
 
class TagCreate(View):
 
    def get(self, request):
        form = TagForm()
        return render(request, 'blog/tag_create.html', context={'form': form})
 
    def post(self, request):
        bound_form = TagForm(request.POST)
 
        if bound_form.is_valid():
            new_tag = bound_form.save()
            return redirect(new_tag)
        return render(request, 'blog/tag_create.html', context={'form': bound_form})
шаблон:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{% extends 'blog/base_blog.html' %}
 
{% block title %}
    Tag Create - {{ block.super }}
{% endblock %}
 
{% block content %}
 
    <form action="{% url 'tag_create_url' %}" method="post">
       {% csrf_token %}
 
       {% for field in form %}
            <div class="form-group">
                {% if field.errors %}
                    <div class="alert alert-danger">
                        {{ field.errors }}
                    </div>
                {% endif %}
                {{ field.label }}
                {{ field }}
            </div>
 
       {% endfor %}
        <button type="submit" class="btn btn-primary">Create Tag</button>
    </form>
 
{% endblock %}
Подскажите в чём может быть проблема
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.11.2019, 19:01
Ответы с готовыми решениями:

slider next кнопка работает но prev работает 2 раза. При нажатии 3ый раз на кнопку
&lt;!DOCTYPE html&gt; &lt;html lang=&quot;en&quot;&gt; &lt;head&gt; &lt;meta charset=&quot;UTF-8&quot;&gt; &lt;meta...

Сделать так чтобы метод выполнялся при нажатии на кнопку
private void radioButton3_CheckedChanged(object sender, EventArgs e) { a =...

Как выполнить метод из определенного контроллера при нажатии на кнопку?
Всем привет и с Новым годом. Вопрос собственно такой, подскажите пожалуйста знающие люди, как...

Простейшая форма не работает. При нажатии на кнопку ничего не происходит.
Пару дней назад начал изучать PHP и возникла проблема при создании формы одни файлом . Ну вобщем...

1
1042 / 577 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
25.11.2019, 13:53 2
Python
1
TagCreate.as_view()
0
25.11.2019, 13:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2019, 13:53
Помогаю со студенческими работами здесь

Нужно чтобы при нажатии на одну и ту же кнопку менялся текст, но работает только if
Нужно чтобы при нажатии на одну и ту же кнопку менялся текст, но работает только if ...

Всплывающая форма комментариев при нажатии на кнопку работает не так как нужно
Здравствуйте уважаемые форумчане!Недавно установил возможность комментирования на своем сайте!...

Как сделать, чтобы при первом нажатии на кнопку TButton появлялось одно сообщение, а при втором нажатии - другое?
помогите как сделать в чтобы в кнопке button при первом нажатий вылазило сообщение ShowMessage('Вы...

Как сделать, чтобы при нажатии на кнопку открывался MessageBox, а при следующем нажатии
открытый MessageBox закрывался (продолжалось выполнение кода после MessageBox) и открывался новый...

Необходимо, чтобы при нажатии на одну из кнопок меню, фрейм с рекламой сворачивался, и разворачивался снова при нажатии на другую кнопку
Задача такая: Есть три фрейма (расположены друг под другом) - это реклама (вверху), меню...

При нажатии на кнопку текст появляется , при повторном нажатии пропадает
Написать программу где есть кнопка и при нажатии на кнопку первый раз какой-то текст появился и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru