Django: форма не отображается в отрисованном шаблоне
Я попытался добавить страницу в своей админ-панели, чтобы пользователь мог загрузить CSV-файл. Однако форма, которую я передал в шаблон, не отображается, хотя я следовал этому руководству. https://www.youtube.com/watch?v=BLxCnD5-Uvc&t=340s. (Примерно с 14:20 до 17:30)
Я проверил, правильно ли передается контекст, содержащий форму, в шаблон, передав случайный текст, но этот случайный текст отобразился в моем шаблоне, и только форма не отображается.
Это мой файл admin.py:
class CsvImportForm(forms.Form):
csv_upload = models.FileField()
class UserAdmin(BaseUserAdmin):
form = UserChangeForm
add_form = UserCreationForm
list_display = ('email', 'first_name', 'middle_name',
'last_name', 'role', 'subject', 'schedule_uploaded', 'is_admin')
list_filter = ('is_admin',)
fieldsets = (
(None, {'fields': ('email', 'password', 'first_name',
'middle_name', 'last_name', 'role', 'subject', 'schedule_uploaded')}),
('Permissions', {'fields': ('is_admin',)})
)
add_fieldsets = (
(None, {
'classes': ('wide',),
'fields': ('email', 'password1', 'password2', 'first_name', 'middle_name', 'last_name', 'role', 'subject', 'schedule_uploaded', 'is_admin')}
),
)
search_fields = ('email', 'first_name', 'middle_name',
'last_name', 'role', 'subject', 'schedule_uploaded')
ordering = ('email', 'first_name', 'middle_name',
'last_name', 'role', 'subject', 'schedule_uploaded')
filter_horizontal = ()
def get_urls(self):
urls = super().get_urls()
new_urls = [path('csv_upload/', self.csv_upload)]
return new_urls + urls
def csv_upload(self, request):
form = CsvImportForm()
context = {"form": form}
return render(request, 'admin/csv_upload.html', context)
Это мой шаблон:
{% extends 'admin/base.html' %}
{% block content %}
<div>
<form action="." method="POST" enctype="multipart/form-data">
{{ form.as_p }}
{% csrf_token %}
<button type="submit">Upload File</button>
</form>
</div>
{% endblock %}