170 похожих чатов

Всем привет!Почему не создаётся запись в таблицу?Вот код create_trailer.html: <div

class="create_trailer">
<form class="create_trailer_form" method="post">
{% csrf_token %}
{{ form.name_trailer }}
{{ form.preview_trailer }}
{{ form.trailer }}
{{ form.author }}

<input id="user_submit" type="submit" value="Создать статью">
</form>
</div>
Вот код views.py:
def create_trailer(request):
form = TrailerForm(request.POST)

if form.is_valid():
name_trailer = form.cleaned_data['name_trailer']
preview_trailer = form.cleaned_data['preview_trailer']
trailer = form.cleaned_data['trailer']
author = form.cleaned_data['author']
form.save()
print(name_trailer, preview_trailer, trailer)

add_trailer = Trailer(name_trailer=name_trailer, preview_trailer=preview_trailer, trailer=trailer, author=author)
add_trailer.save()
else:
form = TrailerForm()
return render(request, 'polls/create_trailer.html', {'form': form})
Вот код models.py:
class Trailer(models.Model):
name_trailer = models.CharField("Название трейлера", max_length=200)
pub_date = models.DateTimeField('Дата публикации трейлера', default=timezone.now)
preview_trailer = models.ImageField("Превью трейлера", upload_to='photo', default=None)
trailer = models.FileField("Трейлер", upload_to='video')
author = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE, default="anonim")
Вот код forms.py:
class TrailerForm(ModelForm):
class Meta:
model = Trailer
fields = ['name_trailer', 'preview_trailer', 'trailer', 'author']

46 ответов

132 просмотра

во первых код в gist во вторых почему у тебя две логики создания записи ?

https://pastebin.com/iz2Gtkn2 https://pastebin.com/LAXjyc78 https://pastebin.com/ZXJLJdqC https://pastebin.com/f3cFGpqB

и что форма валидна ?

зачем ты выкладываешь код по нескольким ссылкам? ты правда думаешь так кому-то удобно смотреть?

А что с ней не так?

используй gist там можно в рамках одной ссылки разместить несколько файлов

name_trailer = form.cleaned_data['name_trailer'] preview_trailer = form.cleaned_data['preview_trailer'] trailer = form.cleaned_data['trailer'] author = form.cleaned_data['author'] вот это вообще зачем?

Зачем во второй ссылке в коде строки 5, 6, 7, 8?

Они не нужны?

Удали

Не пиши если не понимаешь зачем это нужно писать и нужно ли

{{ form.as_p }} вот так не пробовал делать? в целом у тебя очень много лишнего кода, а лишний код это всегда возможность для лишней ошибки

Писать то , чего не понимаешь такое себе увлечение

Тоже самое, запись не создаётся

Когда пишешь код, должен же понимать зачем. Я думаю он копирует его себе

это не про решение твоей проблемы это про то как нужно писать

ты уверен что форма валидна ?

Выведи в шаблон ошибки в случае не валидности формы

preview_trailer Обязательное поле. trailer Обязательное поле.

На 100% нет,но не могу найти ошибку

по этому я могу сказать на 100% что не валидна

убери else: form = TrailerForm() и в шаблоне form.as_p и попробуй заполнить форму еще раз

Всё равно тоже самое

что именно все равно?

Не добавляется запись

у тебя, если ты это сделал, на странице должны появиться сообщения об ошибке, или ты не сделал или не внимательно смотришь

Пришли пасту снова. На этот раз одним файлом

Пишет "Форма валидна": Вот код: if request.method == 'POST': form = TrailerForm(request.POST) if form.is_valid(): return HttpResponse("Форма не валидна!") else: return HttpResponse("Форма валидна!") else: return HttpResponse("Форма не post") return render(request, 'polls/create_trailer.html', {'form': form})

else: return HttpResponse("Форма валидна!")

😂😂😂

а написать точно как попросили не пробовал?

https://pastebin.com/Y5fvxhNx

ну то есть ты не сделал ровно ничего из того что тебе сказали?) https://dpaste.org/obYL

Мне просто интересно, а что у тебя значит form, во время GET запроса?

Так я указал method="post"

Зачем строка 23?

Чтобы в create_trailer.html можно было добавить эту форму

Зачем тогда строка 22

Проверка,что форма с методом post

В строке 22 ты обрабатываешь не POST запрос. Что тогда в 23 строке. Ладно, неважно

Рендерю create_trailer.html.Чтобы в create_trailer.html можно было добавить эту форму

Сколько тебе лет?

16

Давай я тебе лучше книжку кину по джанго ? Русская . Начнёшь с азов

Ему нельзя, скоро тест

Времени нету

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

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Oh sorry did you want it in Gunter's chains?
Martin Rys
15
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта