zoukankan      html  css  js  c++  java
  • django之创建第8-3个项目-数据库数据提取之高级操作

    1、配置test2.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <li>获取单个数据</li>
    <li>ID:{{student.id}}---name:{{student.name}}---sex:{{student.sex}}</li>
    
    </body>
    </html>

    2、配置student_list。html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    
    <li>遍历数据库student中的数据</li>
    {% for student in studentList %}
        <li>{{student}}</li>  <!--Student objec-->
    {% endfor %}
    
    <br>
    <li>数据过滤</li>
    {% for student in studentList %}
        <li>{{student.name}},{{student.age}}</li>
    {% endfor %}
    
    <li>获取单个数据</li>
    <li>{{student}}</li>
    
    </body>
    </html>

    3、配置urls文件

    # -*- coding: UTF-8 -*-
    from django.conf.urls import patterns, include, url
    
    
    urlpatterns = patterns('blog.views',
        url(r'^index/$', 'index'),
        url(r'^time/$', 'time'),
        url(r'^shengfen/$', 'shengfen'),
        #url(r'^foo/(d{4})/$', 'foo'), #表示接收4个数字,#w+接收至少一个字母
        url(r'^foo/(d{4})/(w+)/$',"foo"),
        url(r'^bar/(?P<id>d{4})/(?P<name>w+)/$','bar'),#强制规定bar(request,id,name)处的参数必须为id和name
        url(r'^student_list/$','student_list'),
        url(r'^test2/$','test2'),
    )

    4、配置views文件

    # Create your views here.
    #coding:utf-8
    from django.http import HttpResponse
    import datetime
    #导入templates文件所需导入库
    from django.template import loader,Context
    #引入Student等模块
    from blog.models import *
    
    
    def student_list(request):
        t=loader.get_template("student_list.html")
    
        #第1种方法:输出数据库中student表中的数据
        #studentList = Student.objects.all()  # 等价于 select * from student
    
        #第2种方法:根据age字段做排序处理并输出结果  .order_by("age")
        #studentList = Student.objects.all().order_by("age")
    
        #第3种方法:根据age字段做降序处理并输出结果  .order_by("-age")
        #studentList = Student.objects.all().order_by("-age")
    
        # 第4种方法:支持多个字段排序
        #studentList = Student.objects.all().order_by("age","name")
    
        # 第5种方法:支持过滤
        #studentList = Student.objects.filter( age= 16 )
    
        # 第6种方法:过滤大于16的数据
        #age__gt=16等价于age > 16,注意age和__gt之间是没有空格的
        studentList = Student.objects.filter(age__gte = 16)
    
        c = Context({"studentList": studentList})
        return HttpResponse(t.render(c))
    
    
    def test2(request):
        t=loader.get_template("test2.html")
    
        #第7种方法:获取单个数据
        student = Student.objects.get(id=1)
    
        #第8种方法:修改数据库数据并保存
        student.name='xiaodeng'
        student.age=28
        student.intime = '1987-08-22'
        student.save()
    
        #第9种方法:批量更新数据
        studentList=Student.objects.filter(age__lt=17).update(name = 'FengMei')
    
        #新增语句,刷新多少次就会增加多少条记录
        newData=Student(name='python',age=1000,intime='1999-09-09',sex=0)
        newData.save()
    
        #删除数据,二次操作会报错,因为索引7已经删除了,不存在了,再次删除索引7当然会出错。
        #student = Student.objects.get(id=7)
        #student.delete()
    
    
        # 删除所有数据
        #Student.objects.all().delete()
        #student={}
    
        student = Student.objects.get(id=1)
        c = Context({"student": student})
        return HttpResponse(t.render(c))
    
    
    class Person():
        def __init__(self,name,age,sex):
            self.age=age
            self.sex=sex
            self.name=name
    
        def myMethod(self):
            return "get it"
    
    def time(request):
        t = loader.get_template("time.html")
        myId = request.GET.get("id")
        myName = request.GET.get("name")#获取传递的name的value值
        user = {"today": datetime.datetime.now(),"id":myId,"name":myName}
        c = Context(user)
        return HttpResponse(t.render(c))
    
    def foo(request,myID,myName):
        t = loader.get_template("foo.html")
        user = {"today": datetime.datetime.now(),"id":myID,"name":myName}
        c = Context(user)
        return HttpResponse(t.render(c))
    
    def bar(request,id,name):
        t = loader.get_template("bar.html")
        user = {"today": datetime.datetime.now(),"id":id,"name":name}
        c = Context(user)
        return HttpResponse(t.render(c))
    
    def shengfen(request):
        t = loader.get_template("shengfen.html")
        user = {"shengfen":"湖北省恩施市"}
        c = Context(user)
        return HttpResponse(t.render(c))
    
    def index(request):
        #第二个项目
        #return HttpResponse("hello,Django")
    
        #加载器,加载模板
        t=loader.get_template("index.html")
    
        # django之创建第4-1个项目-Dict形式
        user = {"name": "xiaodeng", "sex": "male", "age": 28,"today":datetime.datetime.now()}
        c = Context({"test": user})  # 在这里test位变量,user为变量的值
        return HttpResponse(t.render(c))

    5、百度云盘:django之创建第8-3个项目-数据库数据提取之高级操作

  • 相关阅读:
    每日立会2015-11-30
    Some Modern Softwares' drawbacks: User experience 12/29/2015
    Sprint 5 summary: UI 界面更新,Azure端部署和用户反馈分析 12/28/2015
    Daily Scrum 12/25/2015
    Daily Scrum 12/24/2015
    Daily Scrum 12/23/2015
    Daily Scrum 12/21/2015
    Daily Scrum 12/18/2015
    Daily Scrum 12/17/2015
    Performance standard (ALPHA release) 12/17/2015
  • 原文地址:https://www.cnblogs.com/dengyg200891/p/5355657.html
Copyright © 2011-2022 走看看