在我的ListView
课程中添加表单后,我遇到了错误。
这是我的models.py
class Holiday(models.Model):
name = models.CharField(max_length=100)
date_from = models.DateField()
date_to = models.DateField(null=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("app:holiday_list"
这是我的views.py
class HolidayListView(ListView):
context_object_name = 'holidays'
model = models.Holiday
class HolidayCreateView(CreateView):
fields = ('name', 'date_from', 'date_to')
model = models.Holiday
和我的holiday_list.html
....
<form method="post" action="{% url 'holiday-create' %}">
{% csrf_token %}
<input type="text" name="name" maxlength="100" required="" id="id_name">
<input type="text" name="date_from" required="" id="id_date_from">
<input type="text" name="date_to" required="" id="id_date_to">
<input type="submit" class="btn btn-primary" value="Submit">
</form>
....
some code to list all data
和我的urls.py
url(r'^/$',views.HolidayListView.as_view(), name='holiday_list'),
url(r'^create/$',views.HolidayCreateView.as_view(),name='holiday-create'),
我收到了一个错误:
NoReverseMatch at /app/holiday/
Reverse for 'holiday-create' not found. 'holiday-create' is not a valid view function or pattern name.
我错过了什么。
答案 0 :(得分:0)
从您的Holiday
模型判断,您使用的是app
的命名空间。模板中的URL应指定。
<form method="post" action="{% url 'app:holiday-create' %}">