Зачем сюда приплетать allauth, непонятно
Задача элементарная, добавь юзеру поле когда был задан пароль, потом добавь проверку на разницу этой даты с текущей
сlass konkurs_resultNew_record(LoginRequiredMixin,generic.CreateView):
form_class = Konkurs_resultForm
template_name = 'main/new_konkurs_result.html'
context_object_name = 'konks_result'
def get_form_kwargs(self): # передаю параметр 'konkurs_k' в форму 'Konkurs_resultForm'
try:
kwargs = super(konkurs_resultNew_record, self).get_form_kwargs()
kwargs['konkurs_k'] = self.kwargs['pk2']
return kwargs
def post(self, request, *args, **kwargs):
tmp_konkursk = Konkurs_k.objects.get(id=konkursk_id)
outgame_id = request.POST.get('out_game')
tmp_konkursk.out_game = outgame_id
self.form_class(request.POST).save() # тут возникает ошибка
tmp_konkursk.save()
return HttpResponseRedirect('/')
class Konkurs_resultForm(ModelForm):
class Meta:
model = Konkurs_result
fields = '__all__'
def __init__(self, *args, **kwargs): # в этом методе фильтрую значение выпадающего спискаForeignKey
konkurs_k = kwargs.pop('konkurs_k')
super(Konkurs_resultForm, self).__init__(*args, **kwargs)
self.fields['konkurs_k'].queryset = Konkurs_k.objects.filter(konkurs_id=konkurs_k)
class GorodForm(ModelForm):
class Meta:
model = Gorod
fields = '__all__'
{% extends 'main/index.html' %}
{% block title %}
Добавление города
{% endblock %}
{% block body_main %}
<div>
<form method="post">
{% csrf_token %}
{{ form.name_g }}
<button type="submit">Сохранить</button>
</form>
</div>
{% endblock %}
path('strani', StranaListView.as_view(), name='strani'),
path('new_strana', StranaListView.as_view(), name='new_strana'),
path('goroda', GorodListView.as_view(), name='goroda'),
path('new_gorod', GorodCreate.as_view(), name='new_gorod')
...
class StranaCreate(generic.CreateView):
model = Strana
form_class = StranaForm
template_name = 'main/create_strana.html'
context_object_name = 'strana'
class StranaListView(generic.ListView):
model = Strana
template_name = 'main/select_strana.html'
context_object_name = 'strana'
paginate_by = 11
class GorodCreate(generic.CreateView):
model = Gorod
form_class = GorodForm
template_name = 'main/create_gorod.html'
context_object_name = 'gorod'
class GorodListView(generic.ListView):
model = Gorod
template_name = 'main/select_gorod.html'
context_object_name = 'gorod'