как получить идентификатор как скрытое значение в форме, чтобы значение сохранялось как внешний ключ в базе данных в django

#django #django-models #django-forms #django-views

#django #django-models #django-forms #django-views

Вопрос:

я не могу расширить интерфейс администратора, который я пытался расширить, но это не сработало

в настройках.py os.path.join (BASE_DIR, «Sfolder»),

итак, в корневой папке внутри есть sfolder admin/base_site.html внутри base_site.html

 {% extends 'admin/base.html' %}

  

это не переопределило base.html

Ответ №1:

Я думаю, вы чрезмерно усложняете свою реализацию. Вместо передачи user.id вы можете напрямую получить доступ к значению в представлении следующим образом:

 <form  method="post" >
    {% csrf_token %}
    {{ form }}
    <button type="submit" class="btn btn-agile btn-block w-100">Make An Appointment</button>
</form>
  

И сохраните значение user в представлении:

 # 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'),