鱼C论坛

 找回密码
 立即注册
查看: 2093|回复: 1

[已解决]django 使用selef 报错

[复制链接]
发表于 2023-5-5 12:22:22 | 显示全部楼层 |阅读模式
5鱼币
views文件
from app.cs import Cs
def cs(request):
    Cs(request,ss)
    return render(request, 'hrr.html', {'deat': ss})



cs文件
from django.db.models import Q
class Cs(object):
    def __init__(self,request,pagesize=17):
        self.n = request.GET.get('q')
        if self.n:
            self.ss = models.Userinfo.objects.filter(
                Q(id__icontains=n) |
                Q(name__icontains=n) |
                Q(password__icontains=n) |
                Q(age__icontains=n) |
                Q(daa__icontains=n)
            )



报错信息
  File "D:\软件\djangoProject\app\views.py", line 130, in cs
    return render(request, 'hrr.html', {'deat': ss})
NameError: name 'ss' is not defined
[05/May/2023 12:22:06] "GET /cs/ HTTP/1.1" 500 68383


最佳答案
2023-5-5 12:22:23
根据您的代码和错误信息,问题出在  views.py  文件中的  cs  函数。在  cs  函数中,您尝试访问未定义的变量  ss 。要解决这个问题,您需要在  Cs  类的  __init__  方法中返回  ss ,并在  cs  函数中接收它。

首先,修改  cs  文件中的  Cs  类,将  ss  作为属性存储:
from django.db.models import Q
from app import models

class Cs(object):
    def __init__(self, request, pagesize=17):
        self.n = request.GET.get('q')
        self.ss = []
        if self.n:
            self.ss = models.Userinfo.objects.filter(
                Q(id__icontains=self.n) |
                Q(name__icontains=self.n) |
                Q(password__icontains=self.n) |
                Q(age__icontains=self.n) |
                Q(daa__icontains=self.n)
            )

然后,修改  views.py  文件中的  cs  函数,将  Cs  类的实例化后的对象赋值给一个变量,并将  ss  属性传递给  render  函数:
from app.cs import Cs

def cs(request):
    cs_instance = Cs(request)
    return render(request, 'hrr.html', {'deat': cs_instance.ss})

现在,错误应该已经解决。这将允许您在  hrr.html  模板中使用  deat  变量。

最佳答案

查看完整内容

根据您的代码和错误信息,问题出在 views.py 文件中的 cs 函数。在 cs 函数中,您尝试访问未定义的变量 ss 。要解决这个问题,您需要在 Cs 类的 __init__ 方法中返回 ss ,并在 cs 函数中接收它。 首先,修改 cs 文件中的 Cs 类,将 ss 作为属性存储: 然后,修改 views.py 文件中的 cs 函数,将 Cs 类的实例化后的对象赋值给一个变量,并将 ss 属性传递给 render 函数: 现在,错 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-5 12:22:23 | 显示全部楼层    本楼为最佳答案   
根据您的代码和错误信息,问题出在  views.py  文件中的  cs  函数。在  cs  函数中,您尝试访问未定义的变量  ss 。要解决这个问题,您需要在  Cs  类的  __init__  方法中返回  ss ,并在  cs  函数中接收它。

首先,修改  cs  文件中的  Cs  类,将  ss  作为属性存储:
from django.db.models import Q
from app import models

class Cs(object):
    def __init__(self, request, pagesize=17):
        self.n = request.GET.get('q')
        self.ss = []
        if self.n:
            self.ss = models.Userinfo.objects.filter(
                Q(id__icontains=self.n) |
                Q(name__icontains=self.n) |
                Q(password__icontains=self.n) |
                Q(age__icontains=self.n) |
                Q(daa__icontains=self.n)
            )

然后,修改  views.py  文件中的  cs  函数,将  Cs  类的实例化后的对象赋值给一个变量,并将  ss  属性传递给  render  函数:
from app.cs import Cs

def cs(request):
    cs_instance = Cs(request)
    return render(request, 'hrr.html', {'deat': cs_instance.ss})

现在,错误应该已经解决。这将允许您在  hrr.html  模板中使用  deat  变量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 09:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表