Я новичок в Django. Я создаю простое приложение, и у меня возникают трудности с созданием объекта с использованием представлений на основе классов. У меня есть модель:Django CreateView throws NoReverseMatch
models.py:
class Vehicle(models.Model):
make = ...
model = ...
def get_absolute_url(self):
return reverse('vehicle-detail', kwargs={'pk' : self.PK})
Тогда в views.py:
class VehicleCreate(CreateView):
model = Vehicle
fields = ['make','model']
MyApp urls.py
url(r'vehicle/add/$', VehicleCreate.as_view(), name='vehicle-add'),
Все, что я написал выше относится только к CreateView. Все импортируется должным образом в соответствии с потребностями CreateView cbv. Когда я нахожусь в mydomain.com/vehicle/add/, есть форма со всеми полями модели, но когда я нажимаю кнопку Create, она выдает ошибку NoReverseMatch. Я пишу с моего телефона, и поэтому для меня немного сложно разместить полный файл .py-файлов.
Исправьте отступы в коде. – Alasdair
Вы указали URL-адрес «vehicle-add», чтобы понять, почему 'reverse ('vehicle-detail', ...)' не работает, нам нужно увидеть URL-адрес «автомобиль-деталь». – Alasdair
Хм, у меня на самом деле нет указателя на автомобиль. Но это не упоминалось в документации. На что должен ссылаться этот url? Не могли бы вы дать мне более подробное объяснение? –