Django学习四
学习网站:https://code.ziqiangxuetang.com/django/django-tutorial.html
一、模型(model)
1.创建app
startapp mymusic //mymusic为自己的创建的app名字
2.映射
makemigrations //加上app名就是只映射app里的,不加就是整个工程所有
3.上传到数据库
migrate //同上
2,3步骤:当增加字段,删除表等等进行表操作都要进行操作
4.常用类型和参数
详解地址:https://www.cnblogs.com/bahcelor/p/8299060.html
5.美化打印出来的结果
def __str__(self):
return "Bookap<name=%s,rating=%s,price=%s,publish=%s,url=%s>"%(self.name,self.rating,self.price,self.publish,self.url)
6.表相关
一对多:外键 :ForeiKey
一对一:外键+唯一键:OneToOneFiled
多对多:关联表:外键+联合唯一:MarryToManyField
二、视图(views)
1.查询数据
def search(request):
# rs=Bookap.objects.all() #所有的
# re=Bookap.objects.filter(publish="心灵工坊") #有相同,会出错
#前两种是QuerySet
# rs=Bookap.objects.get(id=3) #以防重复
#是实例对象,单条数据
# rs=Bookap.objects.first()
# rs=Bookap.objects.last()
# rs=Bookap.objects.exclude(name='') #不包括
# rs=Bookap.objects.order_by('name').values() #在后面加.values()则转换为字典类型
# rs=Bookap.objects.order_by('name','-id') # - :逆排序
# rs=Bookap.objects.count()
# rs=Bookap.objects.filter(name__contains=" ") #包含...
# rs=Bookap.objects.filter(rating__gte=7) #大于 lte:小于
# print(rs)
return HttpResponse('查询成功')
filter:查找对象的条件的意思就是传给以上参数,相当于是SQL语句中的where语句后面的条件,语法为字段名__规则
2.更新数据
def update(request):
# rs=Bookap.objects.filter(name='動力取向精神醫學--臨床應用與實務')[0]
# rs.name='动力取向精神医学--临床用户商务'
# rs.save()
# Bookap.objects.filter(publish="心灵工坊").update(name='动力取向精神医学--临床用户商务')
return HttpResponse('更新成功')
3.删除数据
def delete(request):
# Bookap.objects.get(id=1).delete()
# Bookap.objects.filter(publish="心灵工坊").delete()
# Bookap.objects.all().delete()
return HttpResponse('删除成功')
4.数据
三、HTML
1.{{}}:参数、变量
2.{%%}:文件路径,逻辑相关
{% for i in 值 %}
{{ i.字段名}}
{% endfor %}