Я думаю, вы слишком усложнили свою реализацию.Вместо того, чтобы передавать user.id
, вы можете напрямую получить доступ к значению в представлении следующим образом:
<form method="post" >
{% csrf_token %}
{{ form }}
<button type="submit" class="btn btn-agile btn-block w-100">Make An Appointment</button>
</form>
И сохранить значение пользователя в представлении:
# view
from django.contrib.auth.decorators import login_required
@login_required
def appointment(request):
if request.method == 'POST':
form = AppointmentForm(request.POST)
if form.is_valid():
appointment = form.save(commit=False)
appointment.user = request.user # get user value here
appointment.save()
messages.success(request, f' Succesfully made an appointment!')
return HttpResponse("success")
else:
form = AppointmentForm()
context = {'form': form, }
return render(request, 'home_temp/appointment.html', context)
# url
path('appointment/',views.appointment,name='appointment'),