潭州课堂25班:Ph201805201 django框架 第九课 模型补充 博客小案例 (课堂笔记)
聚合查询:


分组查询: 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框架 第九课 模型补充 博客小案例 (课堂笔记)的更多相关文章
- Django 09 博客小案例
Django 09 博客小案例 urls.py from django.urls import path from . import views urlpatterns = [ path('index ...
- Django——9 博客小案例的实现
Django 博客小案例的实现 主要实现博客的增删改查功能 主页index.html --> 展示添加博客和博客列表的文字,实现页面跳转 添加页add.html --> 输入文章标 ...
- 个人博客小案例(纯Django搭建)
在看这篇文章的时候,必须有django基础,如果没有点击访问 一.环境配置 新建项目并做配置项目创建,创建APP并注册 创建模板并配置相应的路径,点击下载模板,配置方法点击访问 创建静态文件并配置,点 ...
- 潭州课堂25班:Ph201805201 django框架 第二课 url,,include,kwargs,name的使用 (课堂笔记)
url 路由配置 这里的 name 由用户输入,得到参数 /<>/是获取用户输入值 这里的 name 默认接收的是 str 如果要接收 int 时: 当输入参数非数字时提示错误 最常用是 ...
- 潭州课堂25班:Ph201805201 django框架 第一课 环境搭建 (课堂笔记)
在虚拟机中创建虚拟环 mkvirtualenv -p /usr/bin/python3 djtest mkvirtualenv 是创建命令, -p /usr/bin/python3 是指定在 pyt ...
- 潭州课堂25班:Ph201805201 django 项目 第九课 图片验证码前台实现,判断用户是否注册功能实现 (课堂笔记)
u胎代码实现 : 针对每一个 app 写个 js 脚本, 先给 users 的 app 应用创建个 js:在指定目录下的 js 文件夹下,创建 users 文件夹,下创建 suth.js ,图片验证 ...
- 使用Phalcon框架开发一个简易的博客系统
使用Phalcon PHP框架开发一个简易的博客系统(类似于CMS) 最近在做Phalcon(Phalcon在英文中指的是鸟类中飞得最快的那一个物种,由于是高性能框架,借用了这个词)相关的项目,由于刚 ...
- 2017-2018-1 20155305 《信息安全系统设计基础》第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客)
2017-2018-1 20155305 <信息安全系统设计基础>第四周学习总结(课堂提交作业未来得及提交码云链接myod补充博客) 课堂提交题目要求 编写MyOD.java 用java ...
- Hexo博客框架10分钟搭建个人博客
首先是先给大家打个招呼 最近看网上看到了很多的的关于搭建博客的视频,我自己也学着自己搭建了一个博客"我自己的博客链接"(欢迎大家来我的博客跟我深入交♂流),今天我把搭建的过程记录下 ...
随机推荐
- Yslow web性能测试插件
YSlow可以对网站的页面进行分析,并告诉你为了提高网站性能,如何基于某些规则而进行优化. YSlow可以分析任何网站,并为每一个规则产生一个整体报告,如果页面可以进行优化,则YSlow会列出具体的修 ...
- MAC 调用GCC 提示xcrun: error: invalid active developer path
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: ...
- Ubuntu16.04安装配置和使用ctags
Ubuntu16.04安装配置和使用ctags by ChrisZZ ctags可以用于在vim中的函数定义跳转.在ubuntu16.04下默认提供的ctags是很老很旧的ctags,快要发霉的版本( ...
- 用SQL语句查询zabbix的监控数据
参考地址:http://blog.51cto.com/sfzhang88/1558254 -- 获取主机id -- 10084 select hostid from hosts where host= ...
- Quartz.NET(任务调度)与Topshelf(服务)的综合使用
http://www.cnblogs.com/jys509/p/4628926.html http://cron.qqe2.com/ Quartz_Topshlf_Demo.7z
- zookeeper 学习 客户端Acl操作笔记
Acl = Access control list create /node2 node2data [zk: localhost:2181(CONNECTED) 14] addauth digest ...
- PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://xxxx.wsdl'
libxml_disable_entity_loader(false); $client = new \SoapClient($wsdl); 完美解决办法加上 php的soap扩展是否安装 open ...
- Java集合源码学习(四)HashMap
一.数组.链表和哈希表结构 数据结构中有数组和链表来实现对数据的存储,这两者有不同的应用场景,数组的特点是:寻址容易,插入和删除困难:链表的特点是:寻址困难,插入和删除容易:哈希表的实现结合了这两点, ...
- [BJOI2018]双人猜数游戏
题解: 彻彻底底的思维题???还是挺难的.. 首先连样例解释都没给..没看题解搞了很久 大概就是 一个人要根据另一个人的决策来猜数 可以去看洛谷那篇题解的解释 然后我们用$f[A/B][i][j][k ...
- noip2012
题解: 闲着无聊做了一遍noip2012 我觉得出题出的好奇怪啊... 为什么两道倍增两道二分答案??? 两天第一题: 第一天第一题傻逼普及组题没什么好说的了 第二天第一题你会扩欧就秒了 两天第二题: ...