Django: как сохранить изображение в django?

я пытаюсь сохранить изображение в django, но кажется, что это не работает, как ожидалось, и я не могу сказать, что происходит с кодом. то, как я отправляю форму, не является прямым способом form.save но я пытаюсь создать тему, если нет существующей темы из выпадающего списка, другая информация сохраняется, но изображение не сохраняется

views.py


@login_required
def CreateRoom(request):
    topics = Topic.objects.all()
    if request.method == "POST":
        form = ChatRoomForm(request.POST, request.FILES)
        topic_name = request.POST.get("topic")
        topic , created = Topic.objects.get_or_create(name = topic_name )
        
        new_room = Chatroom.objects.create(
            host=request.user , 
            roomname = request.POST.get("roomname") , 
            topic = topic , 
            description = request.POST.get("description" ),
            image = request.POST.get("image" )
        )
        new_room.participants.add(request.user.id)
        
        return redirect("chats:chat-room" , pk=new_room.id)
    else:
        form = ChatRoomForm()
    context = {"form": form, "button_value": "Create" , "topics" : topics}
    return render(request, "chat/room_form.html", context)

create-room.html

<form action="" method="POST" enctype="multipart/form-data">
          {% csrf_token %}


            <label for="room_topic"> Topic </label>
            <input value = "{{room.topic.name}}" type="text" name="topic" list="topic-list" placeholder = "Topic for the room.." required />
            <datalist id="topic-list">
              <select id="room_topic"> 
                  {% for topic in topics %}
                <option value="{{topic.name}}">{{topic.name}}</option>
              {% endfor %}
              </select>
            </datalist>
            {{form.image}} 

            {{form.roomname}}

            {{form.description}}


            <input type="submit" value="{{button_value}}" />

        </form>

https://nemecek.be/blog/79/working-with-django-imagefield

Надеюсь, эта ссылка поможет вам сохранить изображение в django.

Вы должны взять изображение из request.FILES, после записать его в хранилище, затем установить путь к изображению в поле вашей модели

Вернуться на верх