Person.objects.all() 获取全部数据 def get_persons(request): persons = Person.objects.all() # 获取全部数据 context = { 'persons':persons # 传递到前端代码中 } return render(request,'person_list.html',context = context) 使用 order_by 默认为 id 进行排序 def get_persons(request): per…
创建管理员 python manage.py createsuperuser   数据库属性命名限制 1.不能是python的保留关键字 2.不允许使用连续的下划线,这是由django的查询方式决定的 3.定义属性时需要指定字段类型,通过字段类型的参数指定选项 语法如下: 属性名=models.字段类型(选项) 字段类型 使用时需要引入django.db.models包,字段类型如下: AutoField:自动增长的IntegerField,通常不用指定,不指定时Django会自动创建属性名为i…
创建 app6 在项目的 settings 中进行注册 INSTALLED_APPS 里面添加 'app6.apps.App6Config' 在 app6 的models.py 中创建数据表 class Student(models.Model): s_name = models.CharField(max_length= 16) 进行迁移 python manage.py makemigrations python manage.py migrate 在 views 中添加函数 from dj…
from django.shortcuts import render,redirect from django.http import HttpResponse,JsonResponse from datetime import datetime,timedelta # Create your views here. # request就是HttpRequest类型的对象 # request包含浏览器请求的信息 def index(request): '''首页''' # num = 'a'…
在 views.py 中添加函数 向数据库中添加数据 def add_persons(request): for i in range(15): person = Person() flag = random.randrange(100) person.p_name = "Hany_ %d"%(i) person.p_age = flag person.p_sex = flag%2 person.save() return HttpResponse("批量添加成功"…
from django.db import models # Create your models here. class BookInfoManager(models.Manager): '''图书模型管理器类''' # 1.改变原有查询的结果集 def all(self): # 1.调用父类的all方法,获取所有数据 books = super().all() # QuerySet # 2.对books中的数据进行过滤 books = books.filter(isDelete=False)…
F 对象: 可以使用模型的 A 属性和 B 属性进行比较 写法: 需要的数据对象 = 数据表(类名).objects.filter(列名__条件=F('列名2')) 需求: 查看男生数量比女生少 的公司名称 companies = Company.objects.filter(c_boy_num__lt=F('c_girl_num')) F 对象支持算术运算 需求: 查看男生数量比女生少 15个的公司名称 companies = Company.objects.filter(c_boy_num_…
我们经常有这种需求: 用sql来查询以及写入数据到数据库,Django当然也提供了这种方式,那就是通过raw方法: sql = "select * from blog_blog where caption like '%python%'" blogs = Blog.objects.raw(sql)…
如果在 创建数据表时,使用了 objects = models.Model() 使隐形属性变为了 显性属性 则 必须要自己定义一个 继承了 models.Model 类的类,实现 管理功能 如果一个属性一直都需要使用 比如 is_delete 属性,判断 这条数据是否删除 is_delete 为 True 也就是 1 时,则表示删除了 删除了就不应该在数据库表中再次使用了 models.py 中新添加的数据表,及其继承类 class AnimalManage(models.Manager): #…
使用方法: 类名.objects.aggregate(聚合函数名('表的列名')) 聚合函数名: Avg 平均值 Count数量 Max 最大 Min 最小 Sum 求和 示例: Student.objects.aggregate(Max('sage')) 创建消费者数据表 Customer class Customer(models.Model): c_name = models.CharField(max_length = 16) # 消费者名字 c_cost = models.Intege…
在 urls.py 中先导入getgrades from django.conf.urls import url from app5 import views urlpatterns = [ url(r'getuser/',views.get_user), url(r'getusers/',views.get_users), url(r'getorder',views.getorders), url(r'getgrades',views.getgrades), ] 在 views.py 中编写…
在 models.py 中设置数据库表的信息 from django.db import models # Create your models here. class User(models.Model): u_name = models.CharField(max_length=,unique=True) # 用户名唯一 u_password = models.CharField(max_length=) # 设置密码 产生迁移文件,进行迁移 python manage.py makemig…
  保存日期 def create(request): '''新增一本图书''' # 1.创建BookInfo对象 b = BookInfo() b.btitle = '流星蝴蝶剑' b.bpub_date = date(1990,1,1) # 2.保存进数据库 b.save() # 3.返回应答,让浏览器再访问/index,重定向 return HttpResponse('ok') # return HttpResponseRedirect('/index') # return redirec…
urls 中 进行注册 url(r'grades',views.grades) views 中编写函数 def grades(request): grades_list = Grade.objects.all() # 使用 locals 获取本地变量 return render(request,'grades_list.html',context = locals()) html 中编写页面显示 <body> <h2>班级列表</h2> <ul> {% fo…
在 settings 中添加 INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'app.apps.AppConfig' ] 在 urls 中添加 对应的函数 from django.co…
在 templates 文件夹下创建 基类 base.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{{ title }}</title> </head> <body> {% block header %} {% endblock %} {% block banner…
当查找的数据不存在,返回为 空时 在 html 中使用 {%empty%} 语句 进行显示 def getstudents(request): students = Student.objects.all().filter(s_name = 'qwer') # 指定一个不存在的值, # students = Student.objects.all() stu_dict = { # 自己定义的字典 'hobby':'play', 'time':'5 years' } stu_data = { 's…
视频链接 https://www.bilibili.com/video/BV1rx411X717?p=21 千锋教育出品的 Django 课程                     2020-05-13    …
在 app5.models.py 中添加一个 Order 表 class Order(models.Model): o_num = models.CharField(max_length= 16 ,unique=True) # 创建一个订单号,设置为 唯一 o_time = models.DateTimeField(auto_now_add=True) # 创建一个时间,当对象进行保存时即可生成订单时间 注: auto_now_add 当进行 save() 保存时,就会自动进行设置时间 产生迁移…
在 views.py 中添加 获取函数 注:此时获取的是全部用户的信息 def get_users(request): users = User.objects.all() context = { 'users':users } return render(request,'user_list.html',context = context) 注: 如果使用切片,则在 all() 后面 [ 起始:结束] 这里需要注意的是 QueueSet 类型是 左闭右闭 的 如果这里写的对,没显示数据,那就是…
在 models.py 中添加 from django.db import models # Create your models here. class Person(models.Model): # 伪装成 models p_name = models.CharField(max_length=16,unique=True,db_column='name') # unique 设置为唯一 # db_column 列名 p_age = models.IntegerField(default=1…
在创建好的 app3 目录下的 models.py 中 创建对 数据表(学生和班级)的描述 分析: 学生和班级是一对多的关系 班级表的设计 class Grade(models.Model): # 设置班级名字 g_name = models.CharField(max_length=32) 学生表的设计 class Student(models.Model): # 设置学生名字 s_name = models.CharField(max_length=16) # 在学生中添加班级,进行级联 s…
在根目录下创建一个 app3 app3 是新 app 的名字 创建一个 urls.py 在 urls.py 中添加 urlpatterns 列表 容纳需要显示在页面上的函数 from django.conf.urls import url from app3 import views urlpatterns = [ url(r'index',views.index) ] 注: r'在网页上的函数名',views.py 中的函数名 在 views.py 中创建刚刚创建好的 index 函数 注:…
1.打开 Data Source alt insert 打开 Data Source 找到 db.sqlite3 确定 Download 下载后 TestConnection 测试是否成功 2.项目下的 urls.py 文件 urlpatterns 匹配网页集合 写法 url(正则,views.函数) url(r'函数名/',views.函数) 最好是斜线结尾 views 来自创建的 app 中,需要导入 views.py 内定义函数 def 函数名(request):pass HttpResp…
1.导入 Django 工程时 在 manage.py 上一级目录导入 2.Add local 本地 Add Remote 远端 3.BASE_DIR 项目所在目录的绝对路径 4.SECRET_KEY 相当于密钥 5.项目开发后->进行测试->演示环境->上线生产环境 6.DEBUG = True 调试模式 7.ALLOWED_HOSTS = [] 运行访问的主机,写 ip 地址 ALLOWED_HOSTS = ["*"] 表示所有人访问 8.INSTALLED_AP…
1.脚本不能随便运行,没准 linux 运行完就上不去了 2.pip 在 linux 上 写 pip3 同理 python 写为 python3 3.在 pycharm 上安装库之后,在命令提示符中依旧需要安装 才能在终端进行使用 4.在虚拟环境下安装 uwsgi 5.升级 django 到2.0版本解决 pip3 install django==2.0.4 ImportError: cannot import name 'path' 6.python3 manage.py migrate 解决…
在项目的 settings 中修改 DATABASES = { 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), 'ENGINE':'django.db.backends.mysql', 'NAME':'Hany_mysql', 'USER':'root', 'PASSWORD':'root', # mysql 位置 'HOST':'127.…
在 views 中实现对数据库的添加和读取数据库 添加数据 对象 = models 中创建的类名() 对象.列名 = '字段值' 对象.save() 进行保存 return HttpResponse('提示信息') def add_student(request): stu = Student() stu.s_name = 'Hany_%d'%(random.randrange(10)) stu.save() return HttpResponse("添加成功,添加的姓名为 %s"%(…
  打印元信息,基本上都会打印出来 类字典结构的 key 键 允许重复   get 请求可以传参,但是长度有限制 最大不能超过 2K post 文件上传使用 get 参数 默认放在网址中 post 在请求体中 post 请求可以获取 get 请求参数 类字典结构: <QueryDict> 键可以重复 字典结构: 键是 哈希表,保证不重复   打印 访问网站的用户的 IP 地址   视频链接地址: https://www.bilibili.com/video/BV1rx411X717?p=31…
在 templates 中创建对应文件名的 html 文件 (.html) 注: 开发者服务器发生变更是因为 python 代码发生变化 如果 html 文件发生变化,服务器不会进行重启 需要自己手动修改 注意就近原则,如果有重复名字,先用最近的…