Проверка пользователя в Class Based View - Python
Формулировка задачи:
Как проверить авторизован ли пользователь что бы дать или не дать ему доступ к форме привязанной к CreateView
я уже и так и сяк, в доках написано мол юзайте миксины юзаем, но отображается пустой темплейт, если просто через deff get делать и там проверятьif not request.user.is_autheauthenticated() то опять же редиректить оно редиректит на логин но как отобразить все как надо если пользователь авторизован не понятно то ли пустое опять получается, помогите.
Сама вьюха
Сама форма
В url инициализируем через as_view:
Листинг программы
- class LotAddView(generic.CreateView):
- model = Lot
- template_name = 'lots/add_lot.html'
- form_class = LotAddForm
- def form_valid(self, form):
- form.instance.author = self.request.user
- return super(LotAddView, self).form_valid(form)
Листинг программы
- class LotAddForm(forms.ModelForm):
- name = forms.CharField(
- label="Наименование",
- widget=forms.TextInput,
- max_length=255
- )
- description = forms.CharField(
- label="Описание",
- widget=forms.Textarea,
- max_length=1500
- )
- class Meta:
- model = Lot
- fields = ('name', 'description', 'type_auction', 'time_life', 'price', 'category',)
Листинг программы
- url(r'^add/$', views.LotAddView.as_view(), name='add'),
Решение задачи: «Проверка пользователя в Class Based View»
textual
Листинг программы
- from django.utils.decorators import method_decorator
- from django.contrib.auth.decorators import login_required, user_passes_test
- class LotAddView(generic.CreateView):
- ...
- @method_decorator(login_required(login_url='/accounts/login/'))
- def dispatch(self, request, *args, **kwargs):
- return super(LotAddView, self).dispatch(request, *args, **kwargs)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д