14446
Вопросы про Python для чайников. Cпам и троллинг неприемлем. Частозадаваемые вопросы: https://github.com/ru-python-beginners/faq/blob/master/README.md Правила группы: https://t.me/ru_python_beginners/1649981
А, form_valid это если она валидна, а не вадидация
Читать полностью…
можно через формы делать
когда ты в forms.py
создаешь свой класс формы для заполнения
и там прописываешь метод для очистки поля
def clean_ИМЯПОЛЯ(self):
def clean_email(self):
email = self.cleaned_data['email']
if get_user_model().objects.filter(email=email).exists():
raise forms.ValidationError('Данный емейл уже зарегистрирован')
return email
ну ток тебе свой валидатор надо и по своему профилю проверять
Читать полностью…
да ими никто не пользуется кроме того легаси кода восьмилетней давности
Читать полностью…
не так страшна генерик вьюха как генерик круд
Читать полностью…
https://docs.djangoproject.com/en/5.1/topics/forms/#id4
Читать полностью…
В джанге нет какого-то метода вьюхи когда валидация уже прошла и надо теперь что-то сделать?
Читать полностью…
class ProductCreateView(LoginRequiredMixin, CreateView):
model = Product
form_class = ProductForm
success_url = reverse_lazy("catalog:catalog_list")
def form_valid(self, form):
cleaned_data = form.cleaned_data['name'].lower()
forbidden_words = ['казино', 'криптовалюта', 'крипта', 'биржа', 'дешево', 'бесплатно', 'обман', 'полиция',
'радар']
for word in forbidden_words:
if word in cleaned_data:
form.add_error('name', 'Данное название не подходит.')
return self.form_invalid(form)
product = form.save()
user = self.request.user
product.owner = user
product.save()
return super().form_valid(form)
при таком коде, как сейчас написан у меня. Карточка на сайте создаваться не будет так как слово запрещено, но она появиться в базе данных
Читать полностью…
нужен совет, у меня есть контроллер. Для создания карточки продукта, в нем есть функция которая автоматически привязывает к созданному продукту авторизованного пользователя на сайте(то есть указывает его автором). Но так же есть мне нужно ограничение, по каким наименованиям продукт создавать нельзя
Читать полностью…
У Тишки была статья по структуре проекта. Так и называется вроде
Читать полностью…
Если хочется потыкать готовую модель - есть публичные сервисы, есть возможность у тебя что-то запустить, а можно что-то своё пытаться обучить. Первое будет круче сразу работать, но дороже. Последнее соответственно требует большего погружения именно в технологии работы
Читать полностью…
Чтоб в конце вызвался HTTPResponseRedirect (https://github.com/django/django/blob/main/django/views/generic/edit.py#L63) или как в доке "It should return an HTTPResponse"
* Смотрел исходный код джанги и сразу несколько ощущений было: ненавижу джангу, ненавижу MI
def register(request):
if request.method == 'POST':
form = RegisterUserForm(request.POST)
if form.is_valid():
user = form.save(commit=False)
user.set_password(form.cleaned_data['password'])
user.save()
return render(request, 'users/register_done.html')
else:
form = RegisterUserForm()
return render(request, 'users/register.html', {'form': form})
if form.is_valid():
CLS = form.save(commit=False)
CLS.set_password(form.cleaned_data['password'])
CLS.save()
Почему вообще сохранение происходит в валидации формы?
Читать полностью…
то есть блок кода с привязкой автора поставить после проверки слова?
Читать полностью…
потому что сохранение в бд происходит до проверки на валидность
Читать полностью…
class ProductCreateView(LoginRequiredMixin, CreateView):
model = Product
form_class = ProductForm
success_url = reverse_lazy("catalog:catalog_list")
def form_valid(self, form):
product = form.save()
user = self.request.user
product.owner = user
product.save()
cleaned_data = form.cleaned_data['name'].lower()
forbidden_words = ['казино', 'криптовалюта', 'крипта', 'биржа', 'дешево', 'бесплатно', 'обман', 'полиция',
'радар']
for word in forbidden_words:
if word in cleaned_data:
form.add_error('name', 'Данное название не подходит.')
return self.form_invalid(form)
return super().form_valid(form)
Там скорее навык в том, что ты:
1 понимаешь, что что-то идёт не так
2 можешь найти видос с пакистанцем, который уже это фиксил
3 можешь сделать так, как пакистанец
Пожалуйста, посоветуйте материал (книги, статьи, видео) который поможет сделать хорошую структуру проекта. Видел многие разделают код на некие "utils", "services" и прочее. Мне подобная практика не очень знакома. Каждый проект жалею о её структуре и хочу переписать все с нуля, понимая что из-за отсутствия системности наступлю на те же грабли.
Читать полностью…
и чтобы тебе этим заниматься, именно разрабатывать, тебе нужна математика как ни крути
Читать полностью…