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 ответов

57 просмотров

во первых код в 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

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

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

Времени нету

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

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

Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Какой дос блять?
007
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
lazarus-3.2.0/gtk, linux патч "имя проекта по умолчанию project1 -> prj" день добрый не нравится "именя проекта по умолчанию" (project1), к.раз приходится переименовывать (н...
livontiy
5
Коллеги, а в чём сейчас хорошо писать на перле, в смысле ide? Пробовал в идее с плагином, подсветка есть, даже какие-то предупреждения есть, но рефакторинга считай нет. Перене...
Дмитрий Петров
9
Карта сайта