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程序设计入门(5)类的使用简介
Jun 16 Python
python编写暴力破解FTP密码小工具
Nov 19 Python
python cx_Oracle模块的安装和使用详细介绍
Feb 13 Python
Python实现的简单dns查询功能示例
May 24 Python
python使用logging模块发送邮件代码示例
Jan 18 Python
详谈Pandas中iloc和loc以及ix的区别
Jun 08 Python
对Python 窗体(tkinter)文本编辑器(Text)详解
Oct 11 Python
老生常谈python中的重载
Nov 11 Python
Python求两点之间的直线距离(2种实现方法)
Jul 07 Python
flask应用部署到服务器的方法
Jul 12 Python
如何通过命令行进入python
Jul 06 Python
什么是Python装饰器?如何定义和使用?
Apr 11 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 类型转换函数intval
2009/06/20 PHP
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
给ECShop添加最新评论
2015/01/07 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
php使用crypt()函数进行加密
2017/06/08 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
纯JavaScript实现的完美渐变弹出层效果代码
2010/04/02 Javascript
Colortip基于jquery的信息提示框插件在IE6下面的显示问题修正方法
2010/12/06 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
浅析return false的正确使用
2013/11/04 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
2014/03/05 Javascript
jquery.form.js用法之清空form的方法
2014/03/07 Javascript
JS实现5秒钟自动封锁div层的方法
2015/02/20 Javascript
JavaScript实现数组随机排序的方法
2015/06/26 Javascript
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
js实现input密码框显示/隐藏功能
2020/09/10 Javascript
ant-design-vue 时间选择器赋值默认时间的操作
2020/10/27 Javascript
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
Python实现调度算法代码详解
2017/12/01 Python
Java分治归并排序算法实例详解
2017/12/12 Python
Python登录系统界面实现详解
2019/06/25 Python
Python 处理文件的几种方式
2019/08/23 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
使用Python发现隐藏的wifi
2020/03/04 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
通过代码实例了解Python3编程技巧
2020/10/13 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
UGG英国官方网站:UGG UK
2018/02/08 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
事业单位接收函
2014/01/10 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
活动新闻稿范文
2015/07/17 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python
OpenCV-Python实现轮廓的特征值
2021/06/09 Python