у меня есть views.py
как это
class InventoryListView(ListView):
context_object_name = 'inventorys'
model = models.Inventory
def get_context_data(self, **kwargs):
context = super(InventoryListView, self).get_context_data(**kwargs)
context['form'] = InventoryForm()
return context
class InventoryCreateView(CreateView):
fields = ('name', 'sn', 'desc', 'employee')
model = models.Inventory
а вот мой models.py
class Inventory(models.Model):
name = models.CharField(max_length=255)
sn = models.DecimalField(max_digits=20, decimal_places=0)
desc = models.TextField(blank=True, null=True, default='Empty')
employee = models.ForeignKey(Employee, null=True, on_delete=models.SET_NULL, related_name='employee')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True, null=True)
def __str__(self):
return self.name
def get_absolute_url(self):
return reverse("system:inventory_list")
а вот мой urls.py
url(r'^invn/$',views.InventoryListView.as_view(), name='inventory_list'),
url(r'^invn/create$',views.InventoryCreateView.as_view(), name='inventory_create'),
а вот мой inventory_list.html
{% for inventory in inventorys %}
<td>{{ inventory.name }}</td>
{% endfor %}
<form method="post" action="{% url 'system:inventory_create' %}">
{% csrf_token %}
{{ form.as_p }}
</form>
если форма действительна, она хорошо работает.
Но если форма недействительна, она будет перенаправлена на inventory_form.html
, что приведет к TemplateDoesNotExist
, так как Django CreateView
нужно inventory_form.html
(CMIIW).
простое решение создать inventory_form.html
но это не то, что я хочу.
как сделать так, чтобы он перенаправлялся на мой ListView
, когда форма недействительна с сообщениями об ошибках? ...