python框架django基础指南


Posted in Python onSeptember 08, 2016

Django简介:

Django是一个开放源代码的Web应用框架,由Python写成。采用了MVC的框架模式,即模型M,视图V和控制器C。不过在Django实际使用中,Django更关注的是模型(Model)、模板(Template)和视图(Views),称为 MTV模式。Django的主要目的是简便、快速的开发数据库驱动的网站,它强调代码复用,多个组件可以很方便的以“插件”形式服务于整个框架,Django有许多功能强大的第三方插件。

django是对象关系映射的 (ORM,object-relational mapping):以Python类形式定义你的数据模型,ORM将模型与关系数据库连接起来,你可以通过简单的API操作数据库,同时你也可以在Django中使用原始的SQL语句。Django可以运行在Apache上,也可以运行在支持WSGI,FastCGI的服务器上。支持多种数据库,已经支持Postgresql,MySql, Sqlite3,Oracle。

django安装

pip install Django

验证django的安装

import django
django.get_version()

创建一个django工程

django-admin.py startproject mysite

此时会自动生成一些目录和文件,最外层的manage.py,像是一个运行的入口,通过命令行的调用可以完成一些常用的功能,比如:

运行django的自带的web服务器:

python manage.py runserver http://127.0.0.1:8080

常用的同步或创建数据库表:

python manage.py syncdb

创建django project里面的子项目

python manage.py startapp polls

创建超级管理员:

python manage.py createsuperuser

还有setttings.py文件,是django的配置文件。

urls.py文件,是django用于匹配url的文件,哪个网址执行哪些后台代码(view)是在这里定义的。

Django MTV模式之----modle模型

Django采用了orm模式(对象关系映射),django的模型根据数据库表的内容定义了一个python类,这个类里面的成员和每一个数据库表里的字段一一对应;

类里面的成员类型也和数据库表里的字段类型也是对应的,名字其实也可以起的一样,看起来比较直观。这样每个类实例就代表了数据库里面的一条数据。

模型例子(在models.py里定义):

from django.db import models

class Poll(models.Model):
  question = models.CharField(max_length=200)
  pub_date = models.DateTimeField('date published')

class Choice(models.Model):
  poll = models.ForeignKey(Poll)d
  choice_text = models.CharField(max_length=200)
  votes = models.IntegerField(default=0)

django设置数据库:

settings.py文件里面的database可以定义你要使用的数据库类型,比如:

定义数据库为sqlite

'ENGINE': 'django.db.backends.sqlite3'

定义数据库为mysql

'ENGINE': 'django.db.backends.mysql'

执行django-admin.py startproject mysite, 然后再python manage.py runserver http://127.0.0.1:8080就算搭建了最简单的一个django web服务器,可通过 http://127.0.0.1:8080访问测试。另外在install_apps里面激活应用,执行pyhton manage.py syncdb,此时会根据定义的模型创建相应的数据库。

数据库操作例子:(假设File为定义的模型类)

获取所有数据:

all_filelist = File.objects.all()

获取所有数据并按某个字段排序:

all_filelist = File.objects.all().order_by('-id')

执行sql语句:

cursor = connection。cursor()
cursor.extcute("select * from info_path")
chaannels = cursor.fetchall()

过滤数据:

list=File.objects.all().filter(xxx=xxx)

根据主键查询

list=File.objects.all().get(id=1)

时间过滤:

results = File.objects.all().filter(time__range=(dayfrom, dayto))

创建新数据:

file = File(time=time,path=path,result=result)
file.save()

获取数据:

file.time
file.path
Python 相关文章推荐
python list中append()与extend()用法分享
Mar 24 Python
python实现批量获取指定文件夹下的所有文件的厂商信息
Sep 28 Python
python中Apriori算法实现讲解
Dec 10 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
pandas通过索引进行排序的示例
Nov 16 Python
Python安装Flask环境及简单应用示例
May 03 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
基于Python函数和变量名解析
Jul 19 Python
Python Pandas数据中对时间的操作
Jul 30 Python
Python3 Tkinkter + SQLite实现登录和注册界面
Nov 19 Python
Python如何使用PIL Image制作GIF图片
May 16 Python
Python requests用法和django后台处理详解
Mar 19 Python
python中星号变量的几种特殊用法
Sep 07 #Python
Python 实现 贪吃蛇大作战 代码分享
Sep 07 #Python
python 转换 Javascript %u 字符串为python unicode的代码
Sep 06 #Python
Python 编码处理-str与Unicode的区别
Sep 06 #Python
Python如何获取系统iops示例代码
Sep 06 #Python
python3编码问题汇总
Sep 06 #Python
用Python实现命令行闹钟脚本实例
Sep 05 #Python
You might like
php && 逻辑与运算符使用说明
2010/03/04 PHP
基于php iconv函数的使用详解
2013/06/09 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
javascript 获取图片颜色
2009/04/05 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
Jquery针对tr td的一些实用操作方法(必看篇)
2016/10/05 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
微信小程序模板和模块化用法实例分析
2017/11/28 Javascript
使用js实现将后台传入的json数据放在前台显示
2018/08/06 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
2018/10/07 Javascript
js核心基础之闭包的应用实例分析
2019/05/11 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
Vue.js组件props数据验证实现详解
2019/10/19 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
python读取html中指定元素生成excle文件示例
2014/04/03 Python
Python实现多线程下载文件的代码实例
2014/06/01 Python
python使用Queue在多个子进程间交换数据的方法
2015/04/18 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
python实现flappy bird游戏
2018/12/24 Python
解决pycharm 远程调试 上传 helpers 卡住的问题
2019/06/27 Python
python 读取二进制 显示图片案例
2020/04/24 Python
HTML5标签大全
2016/11/23 HTML / CSS
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
家长对小学生的评语
2014/01/28 职场文书
青年志愿者事迹材料
2014/02/07 职场文书
贵阳市党的群众路线教育实践活动党(工)委领导班子整改方案
2014/10/26 职场文书
合理化建议书
2015/02/04 职场文书
2015年学校精神文明工作总结
2015/05/27 职场文书
2015最新民情日记范文
2015/06/26 职场文书
社区低保工作总结2015
2015/07/23 职场文书
Python3 如何开启自带http服务
2021/05/18 Python
Pytorch中Softmax和LogSoftmax的使用详解
2021/06/05 Python