У меня есть класс, который берет некоторую информацию из формы и вносит в нее некоторые изменения. И затем сохраняет его в базе данных. На данный момент все лог-файлы c находятся в методе 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 })
Я хочу внести в него 2 изменения: Первое, что я хочу сделать, это переместить эту часть кода в отдельный метод
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)
Причина в том, что я буду добавляйте сюда больше функций. И я не хочу, чтобы все это было почтовым методом. Если есть возможность, пожалуйста, помогите мне. Я уже пробовал несколько способов решить эту проблему, но они не помогли Спасибо