Как загрузить изображения для конкретного пользователя в самосозданной таблице пользователей в Django?

Я получаю MultiValueDictKeyError с этим кодом: Я создал 2 модели одну для пользователей и одну для фотографий. Когда пользователь входит в систему, он должен загрузить фотографию в upload.html. Отношения между моделями user и photos - один ко многим. Я не могу загрузить изображение из-за значения внешнего ключа, которое должно быть получено из loggin.html в gallery.html, а затем в upload.html.

Мои модели:

from django.db import models
import os
from django.contrib.auth.models import User

class users(models.Model):
    username = models.CharField(max_length=20)
    email = models.EmailField()
    password = models.CharField(max_length=105)

    def __str__(self):
        return [self.username, self.email, self.password]

def filepath(request, filename):
    return os.path.join('uploads/', filename)

class photos(models.Model):
    user = models.ForeignKey(users, on_delete=models.CASCADE)
    title = models.CharField(max_length=20)
    description = models.CharField(max_length=100, null=True)
    location = models.CharField(max_length=50, null=True)
    image = models.ImageField(upload_to="media/")

    def __str__(self):
        return [self.user_id, self.title, self.description, self.location, self.image]

Мои ссылки:

from django.urls import path
from . import views

urlpatterns = [
    path("index/", views.index, name="index"),
    path('', views.login, name="login"),
    path('login/', views.login, name="login"),
    path('test/', views.test, name="test"),
    path('register/', views.register, name="register"),
    path('gallery/', views.gallery, name="gallery"),
    path('upload/<int:user_id>/', views.upload, name="upload"),
]

Мои взгляды:

Мои формы:

from django import forms
from .models import photos

class ImageForm(forms.ModelForm):
    class Meta:
        model=photos
        fields=("title", "description", "location", "image")

Gallery.html

{% extends 'main/base.html' %}
{% block welcomeText %}
    <h3 class="text-center">Welcome, {{ name }}!</h3>
{% endblock %}
{% block regBtn %}
{% endblock %}

{% block btnToRight %}
    <a class="btn btn-light" href='/login/'>Log out</a>
{% endblock %}

{% block content %}
    <form method="get" action="/upload/{{ user_id }}/">
    {% csrf_token %}
        <div>
            <button class="w-100 btn mb-3 btn-lg btn-primary" type="submit">Upload</button>
        </div>
    {% for i in images %}
        <img src="{{ i.main.url }}" alt="" height="40px" width="40px">
    {% endfor %}
    </form>
{% endblock %}

И мой upload.html (пожалуйста, обратите внимание на комментарии, где я пытался что-то сделать)

{% extends 'main/base.html' %}
{% block welcomeText %}
    <h3 class="text-center">Upload an image {{ name }}</h3>
{% endblock %}
{% block regBtn %}
{% endblock %}

{% block btnToRight %}
{#    <a class="btn btn-light" href='/gallery/'>Cancel</a>#}
{% endblock %}

{% block content %}
    <div class="container pt-md-5 pb-md-5 ">
        <div class="row text-center h-100 align-items-center justify-content-center ">
            <div class="col col-10 col-lg-4  rounded-3 bg-grad text-dark p-1 p-md-4 shadow-lg">
                <form class="row gy-3" method="post" action="" enctype="multipart/form-data">
                    {% csrf_token %}
    {#                    {% block error_banner %}#}
    {#                    {% endblock %}#}
                        {{ form.as_p }}
{#                        <div class="col-12 form-floating">#}
{#                          <input name="IMAGE" type="file" required  class="form-control">#}
{#                          <label for="floatingInput" class="form-label">Image</label>#}
{#                        </div>#}
{#                        <div class="col-12 form-floating">#}
{#                          <input name="TITLE" type="text" required  class="form-control" id="floatingInput" placeholder="Title" value="{{ title }}">#}
{#                          <label for="floatingInput">Title</label>#}
{#                        </div>#}
{#                        <div class="col-12 form-floating">#}
{#                          <input name="DESCRIPTION" type="text" required  class="form-control" id="floatingInput" placeholder="Description" value="{{ description }}">#}
{#                          <label for="floatingInput">Description</label>#}
{#                        </div>#}
{#                        <div class="col-12 form-floating">#}
{#                          <input name="LOCATION" type="text" required  class="form-control" id="floatingInput" placeholder="Location" value="{{ location }}">#}
{#                          <label for="floatingInput">Location</label>#}
{#                        </div>#}

                    <button class="w-100 btn mb-3 btn-lg btn-primary" type="submit">Upload</button>
                </form>
            </div>
        </div>
    </div>
{% endblock %}
Вернуться на верх