如果您删除 {'form', form} 则一切正常。
视图.py
...
def add_news(request):
if request.method == 'POST':
pass
else:
form = NewsForm()
return render(request, 'bord/add_news.html', {'form', form})
表格.py
from django import forms
from .models import Category
class NewsForm(forms.Form):
name = forms.CharField(max_length=50)
content = forms.CharField()
is_published = forms.BooleanField()
category = forms.ModelChoiceField(queryset=Category.objects.all())
add_news.html
{% extends 'base.html' %}
{% block sidebar %}
{% include 'inc/_sidebar.html' %}
{% endblock %}
{% block content %}
<h1>Добавление новости</h1>
<form action="{% url 'add_news' %}" method="post">
<button type="submit" class="btn btn-primary btn-block">Добавить новость</button>
</form>
{% endblock %}
网址.py
from django.urls import path
from .views import *
urlpatterns = [
path('', index, name='home'),
# Создание переменной category_id с типом int, это число, которое передается через url
path('category/<int:category_id>/', get_category, name='category'),
path('news/<int:news_id>/', view_news, name='view_news'),
path('news/add-news/', add_news, name='add_news')
]

使固定:
在
{a, b}创建一组两个元素。{a: b}-dict用一个元素创建。