通过Django来对数据库进行增删改查
 
1 首先创建类,在app应用程序里面的model模块里面创建类,写好数据库信息,方便我们待会初始化:
2 创建在django项目里面的settings里面添加app程序()在settings里面的INSTALLED_APPS里面)
3 python manage.py makemigrations

4 python manage.py migrate
 
django 常用命令:
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 8000
 
1 增加数据
 
我们在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调用的是先前创建好的数据库

  

当出现这个报错提示的时候,我们应该在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})


最新文章

  1. 一句话知识:如何解决winform自动缩放产生的布局问题.
  2. java获取到机器IP地址及MAC码
  3. 【python】pickle模块
  4. Aptana Studio 3 汉化简体中文版
  5. Apache commons-dbutils笔记
  6. python代码查询港澳通行证办理进度
  7. 【MongoDB】开启认证权限
  8. Branch management
  9. ECSTORE 关于FILTER条件所代表的含义
  10. Symfony框架系列----常用命令
  11. Codeforces 459E Pashmak and Graph(dp+贪婪)
  12. java算法 蓝桥杯 乘法运算
  13. Flask请求扩展和数据库连接池
  14. 关于JS的一些东西
  15. django创建一个简单的web站点
  16. python2内置属性
  17. Python day4_list的常见方法1_笔记(浅拷贝和深拷贝的简述)
  18. linux 信号与多线程
  19. [mark]如何删除地址栏的记录?
  20. Oracle 数据库字典 sys.obj$ 表中关于type#的解释

热门文章

  1. 阅读DNA-2014年读书
  2. ContentProvider详解
  3. XML-RPC远程方法调用
  4. Ubuntu disk error
  5. C# EventHandler and Delegate(委托的使用)
  6. openwrt刷机后配置PPPOE上网方法
  7. 数组的方法 Array.map();Array.every()和Array.some();数组的indexof();检测是否是数组isArray(obj);
  8. 【BZOJ 1038】【ZJOI 2008】瞭望塔
  9. ansible解密
  10. 【转】C#判断奇偶数的函数