启动django shell命令行
python manage.py shell
在学生数据表里获取名字为‘白月’的学生信息
s1=Student.objects.get(name='白月')
根据外键表数据过滤,在student表查找一年级学生
Student.objects.filter(grade=1).values()
查找Student表中所有‘一年级中国学生’
cn=Country.objects.get(name='中国') #变量cn获取Country表中的所有国家为‘中国’的值
Student.objects.filter(grade=1,country_id=cn_id).values() #查找一年级中国学生
还有外键关联,更方便的写法
Student.objex=cts.filter(grade=1,country__name='中国').values() #"__"是外键关联的写法
反向访问:已经获得Country对象,如何访问到所有属于这个国家的学生?
cn=Country.objects.get(name='中国')
cn.student_set.all() #通过表Model转化为小写,再加上_set来获取所有的反向外键关联对象
#如果在Student表中的Country字段上 写上 related_name='<字段名>' ,就可以把student_set换成<字段名>
反向过滤:获取 具有一年级学的 国家的 名字
#获取所有一年级学生的id列表
country.ids=Student.objects.filter(grade=1).vlaues_list('country',flat=True)
#通过id列表使用 id__in 过滤
Country.objects.filter(id__in=country.ids).values()
制作简易登录页面
def login(request):
html="""
<form>
<input typr="text" name="username">
<input type="password" name="password">
<input type="submit" value="登录">
</form>
"""
return HttpResponse(html)
GET和POST的区别
GET从后台获取数据,POST向后台提交数据
模板分离
1.配置setting.py中的TEMPLATES
'DIRS': [os.path.join(BASE_DIR,"<html文件所在的文件夹位置>")], #html文件夹位置
2.逻辑代码页面views.py引用html文件
return render(request,'<html的文件名>')