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 paramiko实现ssh远程访问的方法
Dec 03 Python
Python爬取APP下载链接的实现方法
Sep 30 Python
在python中实现对list求和及求积
Nov 14 Python
对python 命令的-u参数详解
Dec 03 Python
windows下 兼容Python2和Python3的解决方法
Dec 05 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
Python使用py2neo操作图数据库neo4j的方法详解
Jan 13 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
Apr 08 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 Python
Pytest如何使用skip跳过执行测试
Aug 13 Python
Python lxml库的简单介绍及基本使用讲解
Dec 22 Python
用python查找统一局域网下ip对应的mac地址
Jan 13 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
实测在class的function中include的文件中非php的global全局环境
2013/07/15 PHP
php上传文件中文文件名乱码的解决方法
2013/11/01 PHP
纯php生成随机密码
2015/10/30 PHP
Yii2.0中的COOKIE和SESSION用法
2016/08/12 PHP
jquery的ajax()函数传值中文乱码解决方法介绍
2012/11/08 Javascript
getComputedStyle与currentStyle获取样式(style/class)
2013/03/19 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
js 弹出虚拟键盘修改密码的简单实例
2016/10/10 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
[原创]SyntaxHighlighter自动识别并加载脚本语言
2017/02/07 Javascript
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
详解vuejs2.0 select 动态绑定下拉框支持多选
2019/04/25 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
iview form清除校验状态的实现
2019/09/19 Javascript
vue.js的状态管理vuex中store的使用详解
2019/11/08 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
vue 手机物理监听键+退出提示代码
2020/09/09 Javascript
python del()函数用法
2013/03/24 Python
python根据时间生成mongodb的ObjectId的方法
2015/03/13 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
python如何支持并发方法详解
2020/07/25 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
20佳惊艳的HTML5应用程序示例分享
2011/05/03 HTML / CSS
html5教程实现Photoshop渐变色效果
2013/12/04 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
希腊香水和化妆品购物网站:Parfimo.gr
2019/10/03 全球购物
英语系本科生求职信
2014/07/15 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
2015民办小学年度工作总结
2015/05/26 职场文书
毕业季聚会祝酒词!
2019/07/04 职场文书