【发布时间】:2015-08-13 00:26:33
【问题描述】:
我希望我主页的登录页面是一个带有输入的表单,并且用户可以输入内容。所以我遵循了几个教程,现在我有了这个:
views.py:
def create2(request):
if request.method =='POST':
form = LocationForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('')
else:
form = LocationForm()
args = {}
args.update(csrf(request))
args['form'] = form
return render_to_response('location/index.html', args)
在我的 urls.py 中:
url(r'^$', 'core.views.create2'),
效果很好,如果我转到 127.0.0.1:8000,我会进入 index.html,当在输入中输入某些内容时,它会保存在数据库中。但是,我主页的旧部分看起来像这样
class LandingView(TemplateView):
model = Location
template_name="location/index.html"
def search
...
和 urls.py:
url(r'^$', core.views.LandingView.as_view(), name='index'),
它有一个函数search 我所以我的问题是,有没有办法可以将def create2 合并到我的LandingView 中。我尝试了几件事,但我总是在没有输入字段的情况下拥有 index.html。我也试过了
def create2
...
def search
...
但是没有用。
有谁知道如何将它们合并在一起?
编辑 谢谢你的工作解决方案现在看起来像这样
class Create(CreateView):
model = coremodels.Location
template_name = 'location/test.html'
fields = ['title']
def form_valid(self, form):
form.save()
return HttpResponseRedirect('')
return super(Create, self).form_valid(form)
【问题讨论】:
标签: python django class merge function