Django示例演示

引用自:https://blog.csdn.net/weixin_42950386/article/details/83143293

定义模型类

模型类被定义在"应用/models.py"文件中,此例中为"booktest/models.py"文件。
模型类必须继承自Model类,位于包django.db.models中。
提示:对于重要数据使用逻辑删除。

示例演示

接下来首先以"图书-英雄"管理为例进行演示。
注意:这里我们用的版本是django==1.8.2版本。
了解和2.1版本的区别,请百度查询,这里不再啰嗦。

1.打开booktest/models.py文件,定义模型类如下

 1 from django.db import models
 2 # from datetime import date
 3 # Create your models here.
 4
 5 class BookInfo(models.Model):
 6     """图书模型类"""
 7     # 书名
 8     btitle = models.CharField(max_length=40)
 9     # 出版日期
10     bpub_date = models.DateField(default=‘1970-01-01‘)
11     # 阅读量
12     bread = models.IntegerField(default=0)
13     # 点赞量
14     bgood = models.IntegerField(default=0)
15     # 删除
16     is_del = models.BooleanField(default=False)
17
18 class HeroInfo(models.Model):
19     """英雄模型类"""
20     # 英雄名称
21     hname = models.CharField(max_length=20)
22     # 性别
23     hgender = models.BooleanField(default=False)  # False为男
24     # 年龄
25     hage = models.IntegerField(default=18)
26     # 功夫
27     hcomment = models.CharField(max_length=128)
28     # 关联
29     hbook = models.ForeignKey("BookInfo")
30     # 删除
31     isDelete = models.BooleanField(default=False)

2.迁移
生成迁移文件。

虚拟环境中端输入命令:

python manage.py makemigrations

生成迁移文件的时候出现错误,把数据库切换成了mysql,需要安装pymysql模块之后,Django框架才可以操作mysql数据库。安装命令如下:

pip install pymysql
安装成功之后,在test2/init.py文件中加上如下代码:

import pymysql
pymysql.install_as_MySQLdb()

创建数据库

然后执行如下命令。

python manage.py makemigrations
python manage.py migrate
迁移

打开数据库的命令行,查看当前所有表如下图:

迁移

表bookinfo结构如:

默认值并不在数据库层面生效,而是在django创建对象时生效。

图书表结构

表booktest_heroinfo结构如下:

Django框架会根据关系属性生成一个关系字段,并创建外键约束。

英雄表结构

3.测试数据
在数据库命令行中,复制如下语句执行,向booktest_bookinfo表中插入测试数据:

insert into booktest_bookinfo(btitle,bpub_date,bread,bcomment,isDelete) values
(‘射雕英雄传’,‘1980-5-1’,12,34,0),
(‘天龙八部’,‘1986-7-24’,36,40,0),
(‘笑傲江湖’,‘1995-12-24’,20,80,0),
(‘雪山飞狐’,‘1987-11-11’,58,24,0);
再复制如下语句执行,向booktest_heroinfo表中插入测试数据:

insert into booktest_heroinfo(hname,hgender,hbook_id,hcomment,isDelete) values
(‘郭靖’,1,1,‘降龙十八掌’,0),
(‘黄蓉’,0,1,‘打狗棍法’,0),
(‘黄药师’,1,1,‘弹指神通’,0),
(‘欧阳锋’,1,1,‘蛤蟆功’,0),
(‘梅超风’,0,1,‘九阴白骨爪’,0),
(‘乔峰’,1,2,‘降龙十八掌’,0),
(‘段誉’,1,2,‘六脉神剑’,0),
(‘虚竹’,1,2,‘天山六阳掌’,0),
(‘王语嫣’,0,2,‘神仙姐姐’,0),
(‘令狐冲’,1,3,‘独孤九剑’,0),
(‘任盈盈’,0,3,‘弹琴’,0),
(‘岳不群’,1,3,‘华山剑法’,0),
(‘东方不败’,0,3,‘葵花宝典’,0),
(‘胡斐’,1,4,‘胡家刀法’,0),
(‘苗若兰’,0,4,‘黄衣’,0),
(‘程灵素’,0,4,‘医术’,0),
(‘袁紫衣’,0,4,‘六合拳’,0);
4.定义视图
打开booktest/views.py文件,定义视图代码如下:

from django.shortcuts import render,redirect
from booktest.models import *
from datetime import date

#查询所有图书并显示
def index(request):
list=BookInfo.objects.all()
return render(request,‘booktest/index.html’,{‘list’:list})

#创建新图书
def create(request):
book=BookInfo()
book.btitle = ‘流星蝴蝶剑’
book.bpub_date = date(1995,12,30)
book.save()
#转向到首页
return redirect(’/’)

#逻辑删除指定编号的图书
def delete(request,id):
book=BookInfo.objects.get(id=int(id))
book.delete()
#转向到首页
return redirect(’/’)
5.配置url
打开test2/urls.py文件,配置url如下:

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
url(r’^admin/’, include(admin.site.urls)),
#引入booktest的url配置
url(r’^’,include(‘booktest.urls’)),
]
在booktest应用下创建urls.py文件,代码如下:

from django.conf.urls import url
from booktest import views

urlpatterns=[
url(r’^KaTeX parse error: Expected ‘EOF‘, got ‘\d‘ at position 35: … url(r‘^delete(\?d?+)/’,views.delete),
url(r’^create/$’,views.create),
]
6.创建模板
打开test2/settings.py文件,配置模板查找目录TEMPLATES的DIRS。

‘DIRS’: [os.path.join(BASE_DIR,‘templates’)],

模板目录

创建templates/booktest/index.html文件。

模板文件

模板代码如下:

创建
{%for book in list%}
{{book.btitle}}--删除
{%endfor%}
7.运行 运行服务器。
python manage.py runserver
在浏览器中查看。

首页

操作效果如下图。

运行

在mysql命令行中查看数据表变化如下图:

数据变化

原文地址:https://www.cnblogs.com/yifengs/p/11517076.html

时间: 2024-10-12 13:02:20

Django示例演示的相关文章

数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sharding的基本思想和切分策略 第一部分:实施策略 图1.数据库分库分表(sharding)实施策略图解(点击查看大图) 1.准备阶段 对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系

java 队列、优先级队列、双向队列示例演示代码

package org.rui.collection2.queues; import java.util.LinkedList; import java.util.PriorityQueue; import java.util.Queue; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.Li

HTML5菜鸟入门指导:简介、平台搭建、示例演示

HTML5菜鸟入门指导:简介.平台搭建.示例演示 一.HTML5简介 1.  了解HTML (1).什么是HTML? HTML是用来描述网页的一种语言: HTML指超文本标记语言(Hyper Text Markup Language) HTML不是变成语言,是一种标记语言 (2).版本 HTML出现于1991年 HTML+出现于1993年 HTML2.0出现于1995年 HTML3.2出现于1997年 HTML4.01出现于1999年 XHTML1.0出现于2000年 HTML5出现于2012年

C连接MySQL数据库开发之Linux环境完整示例演示(增、删、改、查)

一.开发环境 ReadHat6.3 32位.mysql5.6.15.gcc4.4.6 二.编译 gcc -I/usr/include/mysql -L/usr/lib -lmysqlclient main.c -o main.out -I:指定mysql头文件所在目录(默认去/usr/include目录下寻找所用到的头文件) -L:指定mysql动态库文件所在目录(默认从/usr/lib目录查找) -l:链接libmysqlclient.so动态库 -o:生成的可执行文件名 三.完整示例 //

据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sharding的基本思想和切分策略 第一部分:实施策略 图1.数据库分库分表(sharding)实施策略图解(点击查看大图) 1.准备阶段 对 数据库进行分库分表(Sharding化)前,需要开发人员充分了解

转数据库分库分表(sharding)系列(一) 拆分实施策略和示例演示

本文原文连接: http://blog.csdn.net/bluishglc/article/details/7696085 ,转载请注明出处!本文着重介绍sharding切分策略,如果你对数据库sharding缺少基本的了解,请参考我另一篇从基础理论全面介绍sharding的文章:数据库Sharding的基本思想和切分策略 第一部分:实施策略 图1.数据库分库分表(sharding)实施策略图解(点击查看大图) 1.准备阶段 对数据库进行分库分表(Sharding化)前,需要开发人员充分了解系

概览 Windows Communication Foundation (WCF) 体系结构及其主要概念。代码示例演示 WCF 约定、终结点和行为

摘要:概览 Windows Communication Foundation (WCF) 体系结构及其主要概念.代码示例演示 WCF 约定.终结点和行为. 本页内容 简介 WCF 基础 代码示例 小结 简介 本文档提供 Windows Communication Foundation (WCF) 体系结构的概览.本文旨在阐释 WCF 中的主要概念以及它们如何协调工作.还有几个代码示例对这些概念进行深入阐释,但代码不是本文档的重点. 本文档下面的部分分为以下两个主要内容: WCF 基础:涵盖 WC

Erlang基础 -- 介绍 -- Wordcount示例演示

在前两个blog中,已经说了Erlang的历史.应用场景.特点,这次主要演示一个Wordcount的示例,就是给定一个文本文件,统计这个文本文件中的单词以及该单词出现的次数. 今天和群友们讨论了一个问题,突然一下子就上升到哲学角度上了,装逼装大发了. PS:图片中有错别字,%s/财务和其他9个月/财务和其他9个人/g 不过真心想说的一点是,把Erlang系统,映射到现实中,很多奇葩问题,就能迎刃而解了.所以,在下面的简要设计中,我就尽可能的代入一下现实世界吧. 环境安装 mac 的话,用brew

Python最火框架入门了吗?微型框架 Flask与Web框架Django示例!

Flask Python 微型的Web 框架,以Jinja2 模板引擎与Werkzeug WSGI工具箱为基础. Flask使用简便,使用extension增加其他功能.Flask没有窗体验证工具.默认使用的SQL.但是,Flask保存了扩增性,能够利用Flask-extension加入ORM.文件上传窗体验证工具.各种开放式身份验证技术等这些功能. 特性: 示例: 启动: 非常流行的一个Python必学框架. Django Python 语言驱动的一个开源模型-视图-控制器(MVC)风格的 W