我有一个类,它从表单中获取一些信息,对表单进行一些更改。然后将其保存到数据库中 目前,所有的逻辑都在post方法中。我想让代码更结构化,我想把它的一部分放到一个单独的方法中。可能吗?如果是,我怎么做
这是我的密码:
class AddSiteView(View):
form_class = AddSiteForm
template_name = 'home.html'
def get(self, request, *args, **kwargs):
form = self.form_class()
return render(request, self.template_name, { 'form': form })
def post(self, request, *args, **kwargs):
form = self.form_class(request.POST)
if form.is_valid():
site_instanse = form.save()
url = request.POST.get('url', '')
if url.endswith('/'):
url = url + "robots.txt"
else:
url = url + "/robots.txt"
robot_link = Robot(
site = site_instanse,
link = url,
)
robot_link.save()
pk = Robot.objects.get(site=site_instanse)
return redirect('checks:robots', pk.id)
return render(request, self.template_name, { 'form': form })
我想对其进行两项更改: 我想做的第一件事是将这部分代码移动到一个单独的方法中
if url.endswith('/'):
url = url + "robots.txt"
else:
url = url + "/robots.txt"
我想做的第二件事是用一个单独的方法移动这部分代码
robot_link = Robot(
site = site_instanse,
link = url,
)
robot_link.save()
pk = Robot.objects.get(site=site_instanse)
return redirect('checks:robots', pk.id)
原因是我将在这里添加更多函数。我不想把所有的都放在post方法中。如果可能的话,请帮助我。我已经试过几种解决这个问题的方法,但都不管用 多谢各位
Django没有什么特别的地方阻止您使用普通python函数。因此,如果您知道如何定义方法和函数,那么应该采用相同的方法。例如,第一部分可以是函数
然后在同一位置调用提取的函数
您还可以在class-a方法中定义一个函数来对代码进行分组。第二部分:
相关问题 更多 >
编程相关推荐