django上课笔记2
Posted _慕
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django上课笔记2相关的知识,希望对你有一定的参考价值。
一、视图CBV
1.urls
url(r‘^login.html$‘, views.Login.as_view()),
2.views
from django.views import View
class Login(View):
def get(self,request):
return HttpResponse(‘from get‘)
def post(self,request):
return HttpResponse(‘from post‘)
二、ORM补充
正向操作
result = models.UserInfo.objects.all()
for obj in result:
print(obj.name,obj.age,obj.ut_id,obj.ut.title,obj.ut.fo.new_name)#通过点外键名进行连表操作ut和fo都是外键名
反向操作
obj = models.UserType.objects.all().first()
print(obj.id,obj.title,obj.userinfo_set_all()) # obj.userinfo_set_all()匹配用户类型相关的所有用户
for row in obj.userinfo_set_all(): #遍历每一个用户对象
print(row.name,row.age)
三、分页
分批获取数据
userinfo_list = models.UserInfo.objects.all()[0,10]
from django.core.paginator import Page,Paginator,PageNotAnInteger
current_page = request.GET.get(‘page‘)--
# current_page = int(current_page)
user_list = models.UserInfo.objects.all()
paginator = Paginator(user_list,10)
try:
posts = paginator.page(current_page)
except PageNotAnInteger as e:
posts = paginator.page(1)
return render(request,‘index.html‘,{‘posts‘:posts})
以上是关于django上课笔记2的主要内容,如果未能解决你的问题,请参考以下文章