django专题—数据模型、数据库访问、数据传递
2018-01-04 20:54
387 查看
四、定义数据模型
MVC中的V就是应用下的views.py和templates,C就是项目下的urls.py文件
MVC模型中的M是应用blog下的modles.py文件,专门定义数据库
1.应用目录blog下,modles.py文件定义数据表
说明:数据类型定义方式,在官网中有说明,如ip地址类型:https://docs.djangoproject.com/en/dev/
2.检查模型的语法或者逻辑是否有错误
3.初始化数据库
1)在项目目录下的setting文件中,可以看到默认数据库为sqllite3,数据库目录在BASE_DIR这层目录,数据库文件名为db.sqlite3
取两层路径,表示当前脚本上一层目录
2)查看系统是否安装sqlite3数据库,没有则yum安装
2.1)进入dbshell,熟悉sqlite3
.help #帮助
.tables #查看表
.exit #退出
2.2)每次执行登录之后,会自动生成一个db.split3文件,也可以删掉
2.3)或者这样进入
2.4)查看数据表,其中id为自动生成
3)同步数据库
命令
说明:会自动生成一些自带的表,以及认证
3.1)初始化之后,查看表
说明:语法和mysql基本相似
4)管理数据,将数据库数据显示在admin页面
修改应用blog下的admin.py文件
说明:先导入表,然后定义一个类,参数为admin模块,继承ModelAdmin方法;列表写表中的字段;注册host表和管理表
5)web查看,并添加数据
6)数据库上查看添加的数据
五、交互式方法,访问数据库
1.web项目下,进入python shell,和ipython差不多,多了些环境变量
说明:在其他目录下,看不到web路径
2.导入Host表,查看主机以及相关方法
3.查看主机values
4.增加数据
方法一:
方法二:
5.web页面查看
6.查看并修改元素
六、视图文件views.py访问数据
1.修改web项目下urls.py文件,添加url访问路径
2.blog下的views.py文件,定义方法方法(相当于命令行)
3.web页面查看
七、数据传递post和get
1.应用目录下views.py定义POST访问方法
说明:req.POST 或者 req.method == "POST"
2.注释web目录下setting.py文件中的中间件,启用第三方工具方法访问
3.post方法:
MVC中的V就是应用下的views.py和templates,C就是项目下的urls.py文件
MVC模型中的M是应用blog下的modles.py文件,专门定义数据库
1.应用目录blog下,modles.py文件定义数据表
说明:数据类型定义方式,在官网中有说明,如ip地址类型:https://docs.djangoproject.com/en/dev/
class Host(models.Model): hostname = models.CharField(max_length=50) ip = models.IPAddressField()
2.检查模型的语法或者逻辑是否有错误
python manage.py validate
3.初始化数据库
1)在项目目录下的setting文件中,可以看到默认数据库为sqllite3,数据库目录在BASE_DIR这层目录,数据库文件名为db.sqlite3
取两层路径,表示当前脚本上一层目录
2)查看系统是否安装sqlite3数据库,没有则yum安装
2.1)进入dbshell,熟悉sqlite3
.help #帮助
.tables #查看表
.exit #退出
2.2)每次执行登录之后,会自动生成一个db.split3文件,也可以删掉
2.3)或者这样进入
2.4)查看数据表,其中id为自动生成
3)同步数据库
命令
python manage.py syncdb
说明:会自动生成一些自带的表,以及认证
3.1)初始化之后,查看表
说明:语法和mysql基本相似
4)管理数据,将数据库数据显示在admin页面
修改应用blog下的admin.py文件
说明:先导入表,然后定义一个类,参数为admin模块,继承ModelAdmin方法;列表写表中的字段;注册host表和管理表
class HostAdmin(admin.ModelAdmin): list_display = ["hostname","ip"] admin.site.register(Host,HostAdmin)
5)web查看,并添加数据
6)数据库上查看添加的数据
五、交互式方法,访问数据库
1.web项目下,进入python shell,和ipython差不多,多了些环境变量
说明:在其他目录下,看不到web路径
2.导入Host表,查看主机以及相关方法
3.查看主机values
4.增加数据
方法一:
n = Host(hostname="huangzp2",ip="192.168.2.232") n.save() nodes = Host.objects.all() nodes.values()
方法二:
n = Host() n.hostname = "huangzp3" n.ip = "192.168.3.233" n.save() node = Host.objects.all() node.values()
5.web页面查看
6.查看并修改元素
六、视图文件views.py访问数据
1.修改web项目下urls.py文件,添加url访问路径
2.blog下的views.py文件,定义方法方法(相当于命令行)
3.web页面查看
七、数据传递post和get
1.应用目录下views.py定义POST访问方法
def db(req): print req if req.POST: hostname = req.POST.get("hostname") ip = req.POST.get("ip") host = Host() host.hostname = hostname host.ip = ip host.save() return HttpResponse("OK")
说明:req.POST 或者 req.method == "POST"
2.注释web目录下setting.py文件中的中间件,启用第三方工具方法访问
3.post方法:
curl -d hostname="huangzp5" -d ip="192.168.3.235" http://192.168.2.230:8000/db/[/code] href="http://192.168.2.230:8000/db/" target=_blank>
结果:
浏览器查看
4.get方法:
或者else req.GET,因为前者在访问ip/db/时可能会报错def db(req): print req if req.POST: hostname = req.POST.get("hostname") ip = req.POST.get("ip") host = Host() host.hostname = hostname host.ip = ip host.save() return HttpResponse("OK")
elif req.method == "get":
hostname = req.GET.get("hostname")
ip = req.GET.get("ip")
host = Host()
host.hostname = hostname
host.ip = ip
host.save()
return HttpResponse("OK")
else:
HttpResponse("no data")
浏览器传值:192.168.2.230:8000/db/?hostname=huangzp6&ip=192.168.3.236
浏览器查看:
相关文章推荐
- Python第十三天 django 1.6 导入模板 定义数据模型 访问数据库 GET和POST方法 SimpleCMDB项目 urllib模块 urllib2模块 httplib模块 django和web服务器整合 wsgi模块 gunicorn模块
- django 访问数据库返回 JSON数据格式
- Django,数据模型创建之数据库API参考(转载)
- Revit二次开发高级专题讲座:访问Revit模型中的几何数据以及对象间关系判断方法(点击下载)
- 举例讲解Django中数据模型访问外键值的方法
- Django,数据模型创建之数据库API参考
- The Definitive Guide To Django 2 学习笔记(九) 第五章 模型 (一)数据库访问
- 通过json序列化方式在django下传递模型数据
- Django的数据模型访问多对多键值的方法
- 举例讲解Django中数据模型访问外键值的方法
- 【Django】建立数据库后访问数据
- Django的数据模型访问多对多键值的方法
- 定义数据模型&访问数据库
- Django笔记 数据库数据外键 多对多关系访问
- C#使用DataTable传递数据减少数据库访问打开关闭次数
- Django数据模型动态增删字段(更改数据库模式)
- Sqlserver 在查询分析器里如何访问远程的的数据库,进行数据查询更新等操作。
- django模型——数据库(二)
- (2)django官方教程---数据库模型
- PowerDesigner 将数据库表结构生成物理数据模型(.pdm)