Python Can';我不能保存表格
我有一个问题,提交按钮表单未保存后无法保存表单。我只能在管理仪表板上完成Python Can';我不能保存表格,python,django,forms,Python,Django,Forms,我有一个问题,提交按钮表单未保存后无法保存表单。我只能在管理仪表板上完成 class EventPage(CreateView): template_name = 'event.html' form_class = RegisterToEvent second_form_class = UploadDocument def form_valid(self, form, **kwargs): form.instance.event = Event.
class EventPage(CreateView):
template_name = 'event.html'
form_class = RegisterToEvent
second_form_class = UploadDocument
def form_valid(self, form, **kwargs):
form.instance.event = Event.objects.get(id = self.kwargs['event_id'])
form.save()
return super(EventPage, self).form_valid(form)
def form_invalid(self, **kwargs):
return self.render_to_response(self.get_context_data(**kwargs))
def get_context_data(self, **kwargs):
context = super(EventPage, self).get_context_data(**kwargs)
event = Event.objects.get(id = self.kwargs['event_id'])
participants = Participant.objects.filter(event_id = event.id)
context['participants'] = participants
context['event'] = event
if 'RegisterToEvent' not in context:
context['RegisterToEvent'] = self.form_class
if 'UploadDocument' not in context:
context['UploadDocument'] = self.second_form_class
return context
def get_object(self):
return get_object_or_404(Event, pk=self.kwargs['event_id'])
def post(self, request, *args, **kwargs):
self.object = self.get_object()
if 'register_form' in request.POST:
form_class = self.get_form_class()
form_name = 'RegisterToEvent'
else:
form_class = self.second_form_class
form_name = 'UploadDocument'
form = self.get_form(form_class)
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(**{form_name: form})
我有两种表格:RegisterToEvent和UploadDocuments。问题是当我试图将注册表保存到事件窗体时。我没有得到任何错误,只有
[2015年11月2日10:29:45]“POST/event-2/HTTP/1.1”3020
url.py
urlpatterns = [
url(r'^$', 'event.views.home', name='home'),
url(r'^about/', 'meetingsSystem.views.about', name='about'),
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('registration.backends.default.urls')),
url(r'^create-event/', 'event.views.create_event', name='create_event'),
url(r'^event-(?P<event_id>[0-9]+)/$', EventPage.as_view()),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)
urlpatterns=[
url(r'^$','event.views.home',name='home'),
url(r“^about/”、“meetingsSystem.views.about”、name='about'),
url(r“^admin/”,包括(admin.site.url)),
url(r“^accounts/”,包括('registration.backends.default.url'),
url(r“^create event/”,“event.views.create_event”,name='create_event'),
url(r'^event-(?P[0-9]+)/$,EventPage.as_view()),
]
如果设置为.DEBUG:
urlpatterns+=静态(settings.static\u URL,document\u root=settings.static\u root)
urlpatterns+=静态(settings.MEDIA\u URL,document\u root=settings.MEDIA\u root)
你能再做一点调查吗?你的URL.py正确吗?它到达EventPage类中的post()函数了吗?我编辑了这个问题。我想URL是正确的。你确定你的表单。你的表单返回真的吗?是的,我尝试了表单的打印测试。你如何执行post请求?也许您正在使用ajax执行表单提交?