Python 得到一个;未定义全局名称错误“;在制作“文件”时;对象。get();查询
我得到的错误是 全局名称“name”未定义 对于Python 得到一个;未定义全局名称错误“;在制作“文件”时;对象。get();查询,python,database,django,Python,Database,Django,我得到的错误是 全局名称“name”未定义 对于主题=课程…行。我想查询主题名称,以便在主题模板中使用它们 模型 from django.db import models from django.contrib.auth.models import User class Course(models.Model): name = models.CharField(max_length = 100) stype = models.CharField(max_length =
主题=课程…
行。我想查询主题名称,以便在主题模板中使用它们
模型
from django.db import models
from django.contrib.auth.models import User
class Course(models.Model):
name = models.CharField(max_length = 100)
stype = models.CharField(max_length = 100)
subject = models.CharField(max_length = 100)
location = models.CharField(max_length = 100)
class Teacher(models.Model):
username = models.ForeignKey(User,unique = True)
address = models.CharField(max_length = 200)
city = models.CharField(max_length = 50)
email_address = models.EmailField(max_length=75, unique = True)
class Student(models.Model):
username = models.ForeignKey(User,unique = True)
address = models.CharField(max_length = 200)
city = models.CharField(max_length = 50)
email_address = models.EmailField(max_length=75, unique = True)
class Attendance(models.Model):
course = models.ForeignKey(Course,unique = True)
student = models.ForeignKey(Student,unique = True)
teacher = models.ForeignKey(Teacher,unique = True)
date = models.DateField(unique = True)
status = models.BooleanField(unique = True)
created_at= models.DateTimeField(auto_now_add = True)
updated_at= models.DateTimeField(auto_now = True)
def subjects(request,username):
user = User.objects.get(username=username)
subjects = Course.objects.get(name = name)
variables = RequestContext(request,{
'username': username,
'subject' : subject
})
return render_to_response('subjects.html', variables)
您将在
def主题(请求,用户名):
but.中获得username
subjects = Course.objects.get(name = name) ### name is not defined here...you have to get it from parameter just like username.
subjects=Course.objects.get(name=name)
未定义名称
您可以通过函数参数传递名称
如用户名
:
def主题(请求、用户名、名称):
或者用其他字符串代替name
,例如:
subjects=Course.objects.get(name=“Course\u name”)
标题为name
的变量未准确定义在该行。这里有什么不清楚的地方?你希望name=name
做什么?我知道你在说什么,但是def主题只接受2个参数我不能使用name作为参数,但我需要它作为变量为什么?它可以接受任意多的参数,但如果它不是强制性的,那么您可以设置默认值,如def subjects(request,username,name=None)
这样,如果您在函数调用中未设置name
参数,那么它将在我尝试的def subjects函数中设置为None
(请求、用户名、名称):在发布问题之前,我得到了这个主题()正好包含3个参数(给出了2个)@CalinSinea似乎您没有正确地学习django。@CalinSinea您没有将3个参数传递给函数。我建议您阅读django文档
或django书籍
。一些关于python
的教程使它工作起来了。谢谢,是的,我是一个乞丐,正试图像我一样go@CalinSinea不用了,谢谢。每个人都来自美国初学者。如果我的答案对你有帮助,你可以接受我的答案:)