Django:请求和自我之间有什么区别?
与标题相同。Django中的请求和self有什么区别 我会尝试基于类的视图和函数视图。并复制制作精良的代码。但我不知道fomr_valid中的self和moneylog_delete定义中的request有什么区别Django:请求和自我之间有什么区别?,django,Django,与标题相同。Django中的请求和self有什么区别 我会尝试基于类的视图和函数视图。并复制制作精良的代码。但我不知道fomr_valid中的self和moneylog_delete定义中的request有什么区别 class moneylog_update(UpdateView): model = moneylog_models.Moneylog form_class = forms.UpdateMoneylogForm template_name = "moneylo
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方式,用于命名当前范围内实例的引用。从doc的:
通常,方法的第一个参数称为self。这只不过是一种约定:self这个名称对Python绝对没有特殊意义。但是,请注意,如果不遵循约定,您的代码对其他Python程序员的可读性可能会降低,而且还可以想象,可能会编写依赖于这种约定的类浏览器程序
基本上这是两件不同的事情。请求是作为参数发送到函数中的对象。self是Python中引用类实例的正常方式。