聚合查询:

分组查询: annotate() 方法

例:查询某学院学生人数,(一对多查询)

以字典的形式输出

 annotate(统计 ‘关联学生字段 出现的次,).字典形式(键,值)

例:查询每项课程有多少学生 (多对多查询)

先拿到所有课程信息表,

annotate(统计 ‘dept’ 出现的次,).字典形式(键,值)

F 查询:

Q 查询:

连接到阿里云服务器,上传项目,在该项目中创建新的 APP,

创建好后在本地更新下载下,

在配置文件中注册 APP

分配 URL

更新下

建表

生成执行文件

提交到数据库

编辑函数

from django.shortcuts import render,redirect,reverse
from django.http import HttpResponse
from .models import * # Create your views here. # 主页面
def index(request):
return render(request,'blog/index.html') # 添加页面
def add (request):
# 第一次进来是 GET 请求,点提交时是 PST 请求
if request.method == 'GET':
return render(request,'blog/add.html')
elif request.method == 'POST':
# 从前台传来的数据
title = request.POST.get('title')
content = request.POST.get('content')
# 保存到数据库
blog = Blog(title=title,content=content)
blog.save()
# 重定向
return redirect(reverse('add')) # 文章列表
def list(request):
# 查数据
blog_list = Blog.objects.all()
# 传到前台
return render(request,'blog/list.html',context={'blog_list':blog_list}) # 文章详情页面
def detail(request,blog_id):
blog = Blog.objects.get(id=blog_id)
return render(request,'blog/detail.html',context={'blog':blog}) # 编辑数据
def edit(request,blog_id):
blog = Blog.objects.get(id=blog_id)
if blog:
if request.method == 'GET':
# 将数据传到框框内
return render(request,'blog/add.html',context={'title':blog.title,
'content':blog.content})
else:
# 将传回的新数据保存到数据库
title = request.POST.get('title')
content = request.POST.get('content')
blog.title = title
blog.content = content
blog.save()
return redirect(reverse('add'))
else:return HttpResponse('没有这篇博客') # 删除数据
def delete(request,blog_id):
blog = Blog.objects.get(id=blog_id)
if blog:
blog.delete()
return redirect(reverse('list'))
else:return HttpResponse('没有这篇博客')

  

视图函数:

html :

视图:

html

视图:

html

 

视图:

潭州课堂25班:Ph201805201 django框架 第九课 模型补充 博客小案例 (课堂笔记)的更多相关文章

  1. Django 09 博客小案例

    Django 09 博客小案例 urls.py from django.urls import path from . import views urlpatterns = [ path('index ...

  2. Django——9 博客小案例的实现

    Django  博客小案例的实现 主要实现博客的增删改查功能 主页index.html  -->  展示添加博客和博客列表的文字,实现页面跳转 添加页add.html  --> 输入文章标 ...

  3. 个人博客小案例(纯Django搭建)

    在看这篇文章的时候,必须有django基础,如果没有点击访问 一.环境配置 新建项目并做配置项目创建,创建APP并注册 创建模板并配置相应的路径,点击下载模板,配置方法点击访问 创建静态文件并配置,点 ...

  4. 潭州课堂25班:Ph201805201 django框架 第二课 url,,include,kwargs,name的使用 (课堂笔记)

    url 路由配置 这里的 name 由用户输入,得到参数 /<>/是获取用户输入值 这里的 name 默认接收的是 str 如果要接收 int 时: 当输入参数非数字时提示错误 最常用是 ...

  5. 潭州课堂25班:Ph201805201 django框架 第一课 环境搭建 (课堂笔记)

    在虚拟机中创建虚拟环 mkvirtualenv -p /usr/bin/python3 djtest mkvirtualenv 是创建命令, -p /usr/bin/python3  是指定在 pyt ...

  6. 潭州课堂25班:Ph201805201 django 项目 第九课 图片验证码前台实现,判断用户是否注册功能实现 (课堂笔记)

    u胎代码实现 : 针对每一个 app 写个 js 脚本, 先给 users 的 app 应用创建个 js:在指定目录下的 js 文件夹下,创建 users 文件夹,下创建 suth.js ,图片验证 ...

  7. 使用Phalcon框架开发一个简易的博客系统

    使用Phalcon PHP框架开发一个简易的博客系统(类似于CMS) 最近在做Phalcon(Phalcon在英文中指的是鸟类中飞得最快的那一个物种,由于是高性能框架,借用了这个词)相关的项目,由于刚 ...

  8. 2017-2018-1 20155305 《信息安全系统设计基础》第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客)

    2017-2018-1 20155305 <信息安全系统设计基础>第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客) 课堂提交题目要求 编写MyOD.java 用java ...

  9. Hexo博客框架10分钟搭建个人博客

    首先是先给大家打个招呼 最近看网上看到了很多的的关于搭建博客的视频,我自己也学着自己搭建了一个博客"我自己的博客链接"(欢迎大家来我的博客跟我深入交♂流),今天我把搭建的过程记录下 ...

随机推荐

  1. C++ Primer 笔记——变量

    1. 初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来代替. 2.使用列表初始化内置类型的变量时,如果初始值存在丢失信息的风险,则编译器将报错 ...

  2. ffmpeg切割视频

    using System.Diagnostics; public static void carveVideo() { var inputpath = @"d:\1.mp4"; v ...

  3. Android常用框架和控件使用

    Router框架 https://github.com/iqiyi/Andromeda/blob/master/CHINESE_README.md https://github.com/alibaba ...

  4. 解决OS睡眠功能中,移动鼠标就会唤醒

    设备管理器,在相应项目上右键属性.

  5. Nodejs全局安装和本地安装的区别

    全局安装 全局安装方式是键入命令:npm install gulp -g 或 npm install gulp --global,其中参数-g的含义是代表安装到全局环境里面 安装位置:包安装在Node ...

  6. C 语言的 GCC 扩展

    GNU 编译器(GCC)提供了很多 C 语言扩展,编译器会使用该信息生成更高效的机器代码. 内联函数 static inline __attribute__ ((always_inline)) int ...

  7. UIActionSheet的常用方法

    enum UIActionSheetStyle : Int { case Automatic // take appearance from toolbar style otherwise uses ...

  8. Python 高级面向对象

    一.字段 1.字段包括:普通字段和静态字段,他们在定义和使用中有所区别,而最本质的区别是内存中保存的位置不同. a.普通字段属于对象(实例变量) b.静态字段属于类(类变量) 二.属性 对于属性,有以 ...

  9. 2018牛客网暑假ACM多校训练赛(第四场)D Another Distinct Values 构造

    原文链接https://www.cnblogs.com/zhouzhendong/p/NowCoder-2018-Summer-Round4-D.html 题目传送门 - https://www.no ...

  10. 麒麟Kylin

    开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(MOLAP)能力以支持超大规模数据,能在亚秒内查询巨大的Hive表: Kylin的主要特点包括支持SQL接口.支持超大 ...