Django:请求和自我有什么区别?



与标题相同。在 Django 中,请求和 self 有什么区别?

我会尝试基于类的视图和函数视图。 并复制制作精良的代码。 但我不知道 whay 是 fomr_valid 中的自我和moneylog_delete定义中的请求之间的区别。

class moneylog_update(UpdateView):
model = moneylog_models.Moneylog
form_class = forms.UpdateMoneylogForm
template_name = "moneylogs/update.html"
def form_valid(self, form):
moneylog = form.save(commit=False)
moneybook = moneybook_models.Moneybook.objects.get(
pk=self.kwargs["pk"])
moneylog.save()
form.save_m2m()
return redirect(reverse("moneybooks:detail", kwargs={'pk': moneybook.pk}))

def moneylog_delete(request, moneybook_pk, moneylog_pk):
user = request.user
try:
moneybook = moneybook_models.Moneybook.objects.get(pk=moneybook_pk)
models.Moneylog.objects.filter(pk=moneylog_pk).delete()
return redirect(reverse("moneybook:detail", kwargs={"pk": moneybook.pk}))
except models.Moneylog.DoesNotExist:
return redirect(reverse("cores:home"))

请求是 Django 每次向视图发出真实请求时创建的对象。它包含有关实际请求的元数据和中间件设置的一些属性(最常用的是用户实例(。self,这是一种在当前范围内命名对实例的引用的 Python 方式。从文档的:

通常,方法的第一个参数称为 self。这只不过是一个约定:self这个名字对Python来说绝对没有特殊的含义。但是请注意,如果不遵循约定,您的代码对于其他 Python 程序员来说可能不太易读,并且也可以想象可能会编写依赖于这种约定的类浏览器程序。

基本上,这是两回事。

最新更新