我正在尝试实现一个预约应用程序,用户可以创建与预先存在的课程相关联的会话。我想做的是使用Django CreateView创建会话而不询问用户有关关联课程的信息,同时在后台为会话分配一个课程. 我正在尝试通过在url中传递该类的pk来完成此操作,以便在CreateView中查找该类并将该类分配给会话。
我无法确定如何确切地做到这一点。我猜想,在模板中,我想要像这样的东西:<a href="{% url create_sessions %}?class={{ object.pk }}>创建会话</a>
在类的 DetailView 中, 并且在我的urls.py文件中有一个包含以下行的url:url(r'^create-sessions?class=(\d+)/$', CreateSessionsView.as_view(), name = 'create_sessions')
,但我对Django还很陌生,不知道这个参数是如何发送到我的CBV中,并如何利用它。
我计划将班级保存到会话中,方法是重写我的CBV中的form_valid
,代码如下:
def form_valid(self, form):
form.instance.event = event
return super(CreateSessionsView, self).form_valid(form)
如果这明显是不正确的,请告诉我。谢谢!