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全局变量用法实例分析
Jul 19 Python
Java编程迭代地删除文件夹及其下的所有文件实例
Feb 10 Python
python距离测量的方法
Mar 06 Python
python获取url的返回信息方法
Dec 17 Python
Python如何处理大数据?3个技巧效率提升攻略(推荐)
Apr 15 Python
基于python实现高速视频传输程序
May 05 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
Python模块相关知识点小结
Mar 09 Python
通过python 执行 nohup 不生效的解决
Apr 16 Python
Python实现读取并写入Excel文件过程解析
May 27 Python
基于python实现ROC曲线绘制广场解析
Jun 28 Python
详解python with 上下文管理器
Sep 02 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防注入漏洞过滤函数代码
2012/04/11 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
PHP并发场景的三种解决方案代码实例
2021/02/27 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
JavaScript实现的XML与JSON互转功能详解
2017/02/16 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
vue 运用mock数据的示例代码
2017/11/07 Javascript
JS弹窗 JS弹出DIV并使整个页面背景变暗功能的实现代码
2018/04/21 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
react native 原生模块桥接的简单说明小结
2019/02/26 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
使用Python的urllib和urllib2模块制作爬虫的实例教程
2016/01/20 Python
python psutil库安装教程
2018/03/19 Python
Python实现的redis分布式锁功能示例
2018/05/29 Python
python 编写简单网页服务器的实例
2018/06/01 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
pytorch 中的重要模块化接口nn.Module的使用
2020/04/02 Python
django Layui界面点击弹出对话框并请求逻辑生成分页的动态表格实例
2020/05/12 Python
基于python检查矩阵计算结果
2020/05/21 Python
python多线程semaphore实现线程数控制的示例
2020/08/10 Python
python 爬虫请求模块requests详解
2020/12/04 Python
2014年关于两会精神的心得体会
2014/03/17 职场文书
2014坚持党风廉政建设思想汇报
2014/09/18 职场文书
创业计划书之健康营养产业
2019/10/15 职场文书
如何解决php-fpm启动不了问题
2021/11/17 PHP
使用refresh_token实现无感刷新页面
2022/04/26 Javascript
Win10 Anaconda安装python-pcl
2022/04/29 Servers