Я пытаюсь определить переменную, на мой взгляд, как это:новичок Python с переменными класса
class PostMessageView(LoginRequiredMixin, generic.TemplateView):
url_redirect = None
def post(self, request, *args, **kwargs):
return redirect(self.url_redirect)
Я знаю, что это не хороший способ, и есть встроенные классы для этого, но мой проблема - нет здесь. Моя проблема в чистом Python (я думаю). Если я потомок, я могу сделать это так, что он работает:
class ContactDetailView(PostMessageView):
template_name = 'my_home/contact_detail.html'
url_redirect = 'my_profile_contact_detail'
Моя проблема когда я хочу изменить url_redirect
с динамическим значением, например:
class ContactDetailView(PostMessageView):
template_name = 'my_home/contact_detail.html'
def get_context_data(self, **kwargs):
self.url_redirect = self.request.build_absolute_uri(self.request.path)
Тогда я получаю argument of type 'NoneType' is not iterable
потому что, я думаю, self.url_redirect
не перезаписывает url_redirect
.
Как это сделать правильно в Python?
Вы отвечаете, прекрасно, большое вам спасибо! –