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

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

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

Студворк — интернет-сервис помощи студентам
Осваиваю 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
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 name=&quot;viewport&quot; content=&quot;width=device-width,...

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

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

1
 Аватар для m0nte-cr1st0
1043 / 578 / 242
Регистрация: 15.01.2019
Сообщений: 2,178
Записей в блоге: 1
25.11.2019, 13:53
Python
1
TagCreate.as_view()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.11.2019, 13:53
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru