Я использую общие представления django в своем проекте CRUD. Класс CreateView использует следующий URL-адрес для работы:Django - форма CreateView на существующий вид и URL-адрес
urls.py
url(r'^create', BookCreate.as_view(model=Books, template_name='Myproj/book_create.html'), name='book_create'),
Если я иду www.mywebsite.com/create форма появляется только, как я хотел.
Моя проблема заключается в том, что я хочу включить форму на другую страницу, у которой уже есть URL-адрес, представление и шаблон. URL похож на один ниже:
urls.py
url(r'^author/(?P<id>[0-9]{1,})/$', author_view_handler, name='author_view'),
Как я могу решить эту проблему?
Насколько вы знакомы с работой с формами в не общих представлениях? Другими словами, вам просто нужно знать, как получить класс формы, или вам нужно знать, как обрабатывать форму в вашем представлении 'author_view_handler'? –
Я знаю, как обрабатывать формы в не общих представлениях, мои проблемы начинаются с общих. CreateView создает форму для меня в URL-адресе '/ create', который перенаправляется на шаблон. Моя проблема в том, что я хочу перейти на 'author/id'url и увидеть там форму. Кажется, что для формы нужен URL-адрес только для него. – Nunovsky
Общие представления используют простой «ModelForm», поэтому он должен быть таким же простым, как создание одного для модели «Книги» либо в явном классе, либо с использованием «modelform_factory», а затем создание пустого в «author_view_handler». Вероятно, я бы опустил все отношения между авторами и книгами из формы и установил это на мой взгляд. –