Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:请求和自我之间有什么区别?_Django - Fatal编程技术网

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

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

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

我会尝试基于类的视图和函数视图。并复制制作精良的代码。但我不知道fomr_valid中的self和moneylog_delete定义中的request有什么区别

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中引用类实例的正常方式。