当前位置: 首页 > news >正文

关于建设网站的图片素材数字媒体艺术就业方向

关于建设网站的图片素材,数字媒体艺术就业方向,物流网站的建设方案总结,大学生编程培训机构比较有用 转自 http://blog.csdn.net/fgf00/article/details/53678205 一、DjangoORM 创建基本类型及生成数据库表结构 1、简介 2、创建数据库 表结构 二、Django ORM基本增删改查 1、表数据增删改查 2、表结构修改 三、Django ORM 字段类型 1、字段类型介绍 2、字段参数介绍 3…比较有用 转自 http://blog.csdn.net/fgf00/article/details/53678205 一、DjangoORM 创建基本类型及生成数据库表结构 1、简介 2、创建数据库 表结构 二、Django ORM基本增删改查 1、表数据增删改查 2、表结构修改 三、Django ORM 字段类型 1、字段类型介绍 2、字段参数介绍 3、Django ORM 外键操作 一、DjangoORM 创建基本类型及生成数据库表结构 1、简介 ORM关系对象映射。定义一个类自动生成数据库的表结构。 创建数据库的时候一般有以下几种常用数据类型数字、字符串以及时间。 ORM分为两种 DB First 数据库里先创建数据库表结构根据表结构生成类根据类操作数据库Code First 先写代码执行代码创建数据库表结构主流的orm都是code first。django 的orm也是code first所以学的时候本质就分为两块 根据类自动创建数据库表根据类对数据库表中的数据进行各种操作2、创建数据库 表结构 先写类app下models.py文件 from django.db import models class UserInfo(models.Model): # 必须继承models.Model # 不写则django默认创建ID列自增主键 # 用户名列字符串类型指定长度 username models.CharField(max_length32) password models.CharField(max_length64) 注册APP执行命令python manage.py makemigrations会提示No changes detected这是因为执行命令时会找所有models但是django不知道找哪个所有需要指定一下。 settings.py INSTALLED_APPS [ django.contrib.admin, django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, django.contrib.messages, django.contrib.staticfiles, app01, # 这里添加app] 执行命令生成表结构python manage.py makemigrations # 生成migrations临时文件python manage.py migrate # 根据migrations直接生成数据库12执行后从migrations便会产生操作记录。生成数据库默认情况下用的sqlite3。可以用navicat等软件直接打开。 db.sqlite3里面包含缓存、session、cookie、静态文件以及后台管理。像咱们创建的表名叫app01_userinfo 连接mysql数据库如果不使用sqlite使用mysql数据库。代码不用改、命令也不用改只需要改下配置文件。 # https://docs.djangoproject.com/en/1.10/ref/settings/#databases 官网文档# DATABASES { # sqlite 默认# default: {# ENGINE: django.db.backends.sqlite3,# NAME: os.path.join(BASE_DIR, db.sqlite3),# }# }DATABASES { # mysql default: { ENGINE: django.db.backends.mysql, NAME: mydatabase, USER: mydatabaseuser, PASSWORD: mypassword, HOST: 127.0.0.1, PORT: 3306, }} 注意 数据库名django不能创建需要自己提前创建 Django默认使用MySQLdb模块链接MySQL但python3现在还没有MySQLdb所以改为用pymysql去连。在project项目名下的__init__.py里面 import pymysqlpymysql.install_as_MySQLdb()12二、Django ORM基本增删改查 1、表数据增删改查 urls.py url(r^orm/, views.orm),1app01/views.py from app01 import models # 导入models模块def orm(request):# 创建数据 # 第一种方式 # models.UserInfo.objects.create(usernameroot,password123) # 第二种方式 # obj models.UserInfo(usernamefzh, passwordiajtag) # obj.save() # 第三种方式 # dic {username:fgf, password:666} # models.UserInfo.objects.create(**dic) # 查询数据 # result models.UserInfo.objects.all() # 查询所有为QuerySet类型可理解成列表 # result models.UserInfo.objects.filter(usernamefgf,password666) # 列表 # result models.UserInfo.objects.filter(usernamefgf).first() # 对象 # 条件查询。filter 相当于where查询条件里面的会组成and条件 # for row in result: # 打印查询到数据。 # print(row.id,row.username,row.password) # 查看QuerySet类型具体做了什么事情可以 print(result.query) # 删除数据 # models.UserInfo.objects.all().delete() # 删除所有 # models.UserInfo.objects.filter(id4).delete() # 删除所有 # 更新数据 # models.UserInfo.objects.all().update(password8888) # models.UserInfo.objects.filter(id3).update(password888888) return HttpResponse(orm) 2、表结构修改 修改列把最初定义的类中字段password models.CharField(max_length64)改为password models.CharField(max_length60)。重新执行python manage.py makemigrationspython manage.py migrate则数据表结构更改了。如果列内内容超过定义大小则数据就丢了。 增加一列类中增加一列执行命令会有提示信息因为默认情况下是不允许为空的。这里提供两个选项。 输入一个值新增列已存在的行默认加上输入的内容。email models.CharField(max_length32, nullTrue)允许为空查看表结构变化时刷新看不出来需要重新打开表看效果。 删除列类内删掉相应的字段执行命令即可。 三、Django ORM 字段类型 1、字段类型介绍 Django ORM 字段类型中有CharField、EmailField、URLField、GenericIPAddressField等实际上在数据库里都是字符串。不能做检查语法做不了验证。那这个有什么用呢 这些是给Django 的 admin 用的。在admin那个网页上做验证。如果不用admin那那些都是字符串效果都一样。 自定义自增列models.AutoField(primary_keyTrue) 1、models.AutoField  自增列 int(11)  如果没有的话默认会生成一个名称为 id 的列如果要显示的自定义一个自增列必须将给列设置为主键 primary_keyTrue。2、models.CharField  字符串字段  必须 max_length 参数3、models.BooleanField  布尔类型tinyint(1)  不能为空BlankTrue4、models.ComaSeparatedIntegerField  用逗号分割的数字varchar  继承CharField所以必须 max_lenght 参数5、models.DateField  日期类型 date  对于参数auto_now True 则每次更新都会更新这个时间auto_now_add 则只是第一次创建添加之后的更新不再改变。6、models.DateTimeField  日期类型 datetime  同DateField的参数7、models.Decimal  十进制小数类型 decimal  必须指定整数位max_digits和小数位decimal_places8、models.EmailField  字符串类型正则表达式邮箱 varchar  对字符串进行正则表达式9、models.FloatField  浮点类型 double10、models.IntegerField  整形11、models.BigIntegerField  长整形  integer_field_ranges {    SmallIntegerField: (-32768, 32767),    IntegerField: (-2147483648, 2147483647),    BigIntegerField: (-9223372036854775808, 9223372036854775807),    PositiveSmallIntegerField: (0, 32767),    PositiveIntegerField: (0, 2147483647),  }12、models.IPAddressField  字符串类型ip4正则表达式(已弃用用13、)13、models.GenericIPAddressField  字符串类型ip4和ip6是可选的  参数protocol可以是both、ipv4、ipv6  验证时会根据设置报错14、models.NullBooleanField  允许为空的布尔类型15、models.PositiveIntegerFiel  正Integer16、models.PositiveSmallIntegerField  正smallInteger17、models.SlugField  减号、下划线、字母、数字18、models.SmallIntegerField  数字  数据库中的字段有tinyint、smallint、int、bigint19、models.TextField  字符串longtext20、models.TimeField  时间 HH:MM[:ss[.uuuuuu]]21、models.URLField  字符串地址正则表达式22、models.BinaryField  二进制23、models.ImageField 图片24、models.FilePathField 文件 如上那么多的字段可大致分为 字符串、数字、时间、二进制、自增primary_keyTrue几类。 2、字段参数介绍 数据库中的字段参数null # 是否可以为空default # 默认值primary_key # 主键db_column # 列名db_index # 索引(db_indexTrue)unique # 唯一索引(uniqueTrue)unique_for_date # 只对日期索引unique_for_month # 只对月份索引unique_for_year # 只对年做索引auto_now # 创建时自动生成时间auto_now_add # 更新时自动更新为当前时间 # 更新时间不支持这种 obj UserGroup.objects.filter(id1).update(captionCEO) obj UserGroup.objects.filter(id1).first() # 自动更新时间需要这样写 obj.caption CEO obj.save() 以下是只针对admin的字段参数choices # 作用1、django admin中显示下拉框2、避免连表查询1 user_type_choices ( # 数据库只存1、2、3后面的信息存在内存里。 (1, 超级用户), (2, 普通用户), (3, 普普通用户), ) user_type_id models.IntegerField(choicesuser_type_choices,default1) blank # django admin是否可以为空verbose_name # django admin显示字段中文editable # django admin是否可以被编辑error_messages # 错误信息 # error_messages{required:密码不能为空,} # 注意必须有逗号help_text # django admin提示validators # django form ,自定义错误信息 python manage.py createsuperuser # 创建 Django 用户 3、Django ORM 外键操作 连表关系之一对多models.ForeignKey(ColorDic) models.py 表关联class UserGroup(models.Model): uid models.AutoField(primary_keyTrue) caption models.CharField(max_length32,uniqueTrue) ctime models.DateTimeField(auto_now_addTrue, nullTrue) uptime models.DateTimeField(auto_nowTrue, nullTrue) class UserInfo(models.Model): username models.CharField(max_length32,blankTrue,verbose_name用户名) password models.CharField(max_length60, help_textpwd) email models.CharField(max_length60) test models.EmailField(max_length19,nullTrue,error_messages{invalid: 请输入密码,}) # UserInfo表中没有user_group字段而是 user_group_id 列 值为 uid 数字 user_group models.ForeignKey(UserGroup,to_fielduid) # 外键关联 ********** 数据查询user_list Userinfo.objects.all() # 获取Userinfo对象for row in user_list: # print(row.user_group_id) # 数据库里真实存在的数据 # user_group代指UserGroup对象。类UserGroup对象里封装了uid,catption,ctime,uptime print(row.user_group.uid) # 通过对象获取uid和user_group_id一样 print(row.user_group.caption) # 通过对象获取caption 创建数据UserInfo表创建数据怎么写呢 models.UserInfo.objects.create( usernameroot1, password123, emailasdfasdf, testasdfasdf, # 第一种方式再次查询数据库不推荐 # user_group models.UserGroup.objects.filter(id1).first() # 第二种方式通过 外键字段_id user_group_id 1 )       null - db是否可以为空 default - 默认值 primary_key - 主键 db_column - 列名 db_index - 索引 unique - 唯一索引 unique_for_date - unique_for_month unique_for_year auto_now - 创建时自动生成时间 auto_now_add - 更新时自动更新为当前时间 # obj UserGroup.objects.filter(id1).update(captionCEO) # obj UserGroup.objects.filter(id1).first() # obj.caption CEO # obj.save() choices - django admin中显示下拉框避免连表查询 blank - django admin是否可以为空 verbose_name - django admin显示字段中文 editable - django admin是否可以被编辑 error_messages - 错误信息欠 help_text - django admin提示   新建和更新时间字段 ctime models.DateTimeField(auto_now_addtrue,nulltrue) uptime models.DateTimeField(auto_nowtrue,nulltrue)          模板中这种用row.b__caption 来获取值转载于:https://www.cnblogs.com/testway/p/7552521.html
http://www.zqtcl.cn/news/528664/

相关文章:

  • 看网站有没有做404报名网站建设
  • 有哪些是做二手的网站关于网站制作的指标
  • 网站数据库是谁提供空间坐标系做图网站
  • 网站开发的外文文献佛山做网站格
  • 石家庄网站seo服务免费10大看盘软件
  • 自己做网站卖什么给个网站好人有好报2020免费
  • 网站源码安装步骤网站开发用c 语言
  • 网站首页是什么产品网络推广方案
  • 网站首页制作方案南通市规划建设局网站
  • 网站建设费用兴田德润团队西宁网站策划公司
  • 手机价格网站建设用别人备案域名做违法网站
  • 成都武侯区建设厅官方网站石家庄住房和城乡建设部网站
  • 前端做网站的步骤酉阳网站建设
  • 湖北省住房与建设厅网站php做网站访问记录
  • 做网站的公司没有技术吉林北京网站建设
  • 产品设计培训机构哪家好贵州整站优化seo平台
  • 天津网站制作推广wordpress 果酱
  • 写给初学网站开发们的一封信企业网站建设 ppt
  • 做装修网站多少钱做网站百度一下
  • 用asp做网站的可行性分析9免费建网站
  • 网站域名注册商查询徐州集团网站建设报价
  • 句容网站设计公司做网站充值犯法吗
  • 网站建设所用系统网站备案目的
  • 苏州做网站优化公司哪家好网站的大小
  • 四川省住房和城乡建设厅官方网站网站建设图标图片
  • 做影视网站侵权吗评论凡科网站建设怎么样
  • 建设个人网站流程建设游戏网站需要哪些设备
  • 四字母net做网站怎么样河南做网站优化
  • 怎样做网站快照网站当前位置怎么做
  • 网站模板移植现在c 做网站用什么框架