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的主要内容,如果未能解决你的问题,请参考以下文章

2Django实战第2天:app设计

Django项目笔记——联机对战的实现

django上课笔记6

Python入门自学进阶-Web框架——2Django初识

django上课笔记2

django上课笔记4