Django - Форма не заполняется в моделях, но в консоли нет ошибки

Я создаю приложение Django и испытываю некоторые трудности с созданием "действий" через фронтенд. (CRUD-приложение)

Ранее у меня были проблемы, связанные с ForeignKey для хоста; для этого я использовал расширенный AllAuth models (под названием UserProfile), и ошибки для этого, похоже, были устранены, однако, в функциональности по-прежнему что-то идет не так.

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

views.py:

def create_activity(request):
    userprofile = get_userprofile(request)
    if request.method == "POST":
        form = ActivityForm(request.POST, instance=userprofile)
        if form.is_valid():
            form.save()
            return redirect('activities')
    else:
        form = ActivityForm(instance=userprofile)
        context = {
        'form': form,
    }
        return render(request, 'activities/new_listing.html', context)

Вместе с моим forms.py файлом:

from datetime import date
from django import forms
from .models import Activity

from .widgets import DatePickerInput, TimePickerInput

class ActivityForm(forms.ModelForm):
    class Meta:
        model = Activity
        fields = ('name', 'date',
                  'start_time', 'end_time', 
                  'location', 'description')
        labels = {
            'name': 'Activity Type',
            'date': 'Date of Activity',
            'start_time': 'Start Time',
            'end_time': 'End Time',
            'location': 'Location',
            'description': 'Description',
        }
        widgets = {
            'date' : DatePickerInput(),
            'start_time' : TimePickerInput(),
            'end_time' : TimePickerInput(),

        }

убедитесь, что в HTML добавлена форма "action" и присвойте ее URL функции create_activity в urls.py, например:

В вашем файле new_listing.html:

<form method="post" action="{% url '**yourFunctionUrl**' %}">
  {% csrf_token %}

   {{ form.as_p }}

</form>

В urls.py

from django.urls import path
from django.contrib.auth import views as auth_views
from . import views

urlpatterns = [
    path('SomeURL', views.create_activity, name='**yourFunctionUrl**'),
Вернуться на верх