Django 自带的ORM增删改查
2016-07-03 17:57
441 查看
通过Django来对数据库进行增删改查1 首先创建类,在app应用程序里面的model模块里面创建类,写好数据库信息,方便我们待会初始化:
2 创建在django项目里面的settings里面添加app程序()在settings里面的INSTALLED_APPS里面)
3 python manage.py makemigrations
4 python manage.py migratedjango 常用命令:
2 创建在django项目里面的settings里面添加app程序()在settings里面的INSTALLED_APPS里面)
3 python manage.py makemigrations
4 python manage.py migratedjango 常用命令:
django : 第一条命令是创建项目名,第二条是创建app,第三个同步(创建)数据库 python3 manage.py startproject project_name python3 manage.py startapp app_name python3 manage.py syncdb
拿models里面的一个类举例:
我们先看models创建一个数据库的方法:class WebGroup(models.Model): name = models.CharField(max_length=64) brief = models.CharField(max_length=255,blank=True,null=True) owner = models.ForeignKey(UserProfile) admins = models.ManyToManyField(UserProfile,blank=True,related_name='group_admins') members = models.ManyToManyField(UserProfile,blank=True,related_name='group_members') max_members = models.IntegerField(default=200) def __str__(self): return self.name同步数据库
python manage.py makemigrations python manage.py migrate 本人使用的是django1.9.5版本 2.创建超级管理员 python manage.py createsuperuser 3.运行django python manage.py runserver 80001 增加数据我们在views里面随便定义一个方法名,然后下如以下代码 ,写入以下代码:
if request.method == "POST": input_em = request.POST['em'] # em 和 pwd都是和form表单里面的一一对应 input_pw = request.POST['pwd'] print(input_pw,input_em) models.UserInfo.objects.create(email=input_em, pwd=input_pw) #models调用的是先前创建好的数据库
Django 1.9 CSRF verification failed. Request aborted
当出现这个报错提示的时候,我们应该在html页面上的form表单里面添加这行内容: {% csrf_token %}<form action="/index/" method="post"> {% csrf_token %} <input type="text" name="em"/> <input type="text" name="pwd"/> <input type="submit" value="添加"/> </form>2 删除数据
models.UserInfo.objects.filter(email=input_em).delete()
3 更改数据:
models.UserInfo.objects.filter(email=input_em).update(pwd='nihao')
4 查看数据:
我们需要在HTML页面里嵌套jinja2的代码,下面代码能够在表单里面根据后台数据库的内容来展示,代码如下:
# 前端代码的jinja2语法如下 {% for line in user_info_list %} # user_info_list 实际上就是从models里面获取的对象。 <tr> <td>{{ line.email }}</td> # 每个遍历出来的对象都有emmail这个属性,因为我们在定义这个表的时候就定义了email字段 <td>{{ line.pwd }}</td> </tr> {% endfor %}
后端django,views里面的方法
def index(request): # 数据库获取数据,数据和HTML渲染 from app01 import models user_info_list = models.UserInfo.objects.all() return render(request,'index.html',{'user_info_list':user_info_list})
相关文章推荐
- UVA - 1623 - Enter The Dragon
- google搜索技巧汇总
- Mac上安装django
- [置顶] django实现qq一键登录(qq互联)
- Google一些关键词的运用
- Golang tips ----- 函数
- go变量和数据类型
- 解决: WordPress无法建立到WordPress.org的安全连接
- HDU 1847 Good Luck in CET-4 Everybody!(博弈)
- Try Pangolin(2) - example: SimpleDisplay
- KDE子项目一览 good
- django-response对象
- go语言基本类型
- Google 推出全新的两步验证机制
- 许式伟《Go语言编程》样章“面向对象编程”
- Category的进阶问题
- google perftools分析程序性能
- mongo 查询 距离 某个点 多少 米距离 感谢 提供的数据。 感谢 mvc的 demo 。反正 就是各种感谢 文档之类的。
- Go语言学习笔记4
- golang 调用win32 api 实现windows注销、重启、关机