Python学习笔记_04:Django框架简介
目录
1 什么是Django?
Django是应用于Web开发的高级动态语言框架,最初起源于美国芝加哥的Python用户组,具有新闻从业背景的Adrian Holovaty是Django框架的主要开发者。在Adrian的带领下,Django小组致力于为Web开发者贡献一款高效、完美的Python框架,并且在BSD(Berkeley Software Distribution,伯克利软件套装)开放源代码协议许可下授权给开发者自由使用。
Django拥有完善的模板机制、对象关系映射机制以及用于动态创建后台管理界面的功能。使用Django框架来开发Web应用,可以快速设计和开发具有MVC层次的Web应用。Django框架是从实际项目中诞生出来的,该框架提供的功能特别适合于动态网站的建设,特别是管理接口。
Django框架作为一种快速的网络框架,具有以下特点:
- l 组件的合理集成
- l 对象关系映射和多数数据库支持
- l 简洁的URL设计
- l 自动化的管理界面
- l 强大的开发环境
2 Django框架的开发环境搭建
安装Django框架(PS:此处仅简单说明Windows环境下方式)
下载链接:https://www.djangoproject.com/download/(PS:网页界面上有详细的安装步骤说明,之所以贴出链接,方便查看当前Django框架的最新版本以及相应版本支持的Python版本。楼主写这篇文章使用Python版本为2.7.14)
打开CMD输入:pip install Django==1.11.7(PS:其中1.11.7表示安装的Django版本。其中pip是管理安装Python相关模板架包的管理工具,如果没有安装,请提前安装哦。使用pip安装相关模板架包非常方便)
附pip9.0.1下载链接:https://pypi.python.org/pypi/pip/9.0.1
百度云盘下载链接:http://pan.baidu.com/s/1i4PtOzV 密码:dzqe
下载后,解压,cmd中进入解压后的根目录,输入python setup.py install(PS:出现下图及说明安装成功),然后cmd进入Python安装根目录Scripts文件夹,即可使用pip命令安装相应模块和包。
安装完pip后,可以把D:\Program Files (x86)\Python27\Scripts(PS:红色字体部分是楼主自己Python安装路径)添加进环境变量path中,即可在cmd中直接使用pip命令,例如下图:
开启服务器
启动Django框架中已包含的一个轻量级的Web应用服务器。因此,在使用Django框架开发Web项目时,不需要再对其配置服务器,比如针对Apache的配置。(PS:Django框架自带的轻量级Web应用服务器,便于开发过程中测试,性能较低,如果想要获取高性能,在完成系统开发后,重新部署一个服务器,例如使用Apache中Tomcat、Nginx, lighttpd等)
在CMD中切换到新创建的项目目录中,然后在该目录下输入以下命令:manage.py runserver(PS:此命令,默认开启系统8000端口,如果8000端口被占,可以使用manage.py runserver 8001使用8001端口,或者填写其它数字端口)
3 Django操作MySql数据库简介
数据库配置
在项目的 settings.py 文件中找到 DATABASES 配置项,将其信息修改为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 或者使用 mysql.connector.django
'NAME': 'book', #连接数据库名称
'USER': 'root', #mysql数据库连接用户名
'PASSWORD': 'root', #mysql数据库连接密码
'HOST': 'localhost',
'PORT': '',
'OPTIONS': {
'init_command': "SET sql_mode='STRICT_TRANS_TABLES'" ,
# 'charset': 'utf8mb4',
}
}
}
以下具体操作步骤(具体参考自网上教程:Django 模型):
创建 APP
Django规定,如果要使用模型,必须要创建一个app。我们使用以下命令创建一个 TestModel 的 app:
django-admin.py startapp TestModel
我们修改 TestModel/models.py 文件,代码如下:
HelloWorld/TestModel/models.py: 文件代码:
# models.py
from django.db import models class Test(models.Model):
name = models.CharField(max_length=20)
以上的类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段(name),数据类型则由CharField(相当于varchar)、DateField(相当于datetime), max_length 参数限定长度。
接下来在settings.py中找到INSTALLED_APPS这一项,如下:
INSTALLED_APPS = ( 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'TestModel', # 添加此项
)
在命令行中运行:
$ python manage.py migrate # 创建表结构 $ python manage.py makemigrations TestModel # 让 Django 知道我们在我们的模型有一些变更 $ python manage.py migrate TestModel # 创建表结构
看到几行 "Creating table…" 的字样,你的数据表就创建好了。
Creating tables ...……Creating table TestModel_test #我们自定义的表……
表名组成结构为:应用名_类名(如:TestModel_test)。
注意:尽管我们没有在models给表设置主键,但是Django会自动添加一个id作为主键。
教程上包括:添加数据、更新数据、删除数据,具体请参考上述教程链接。
4 功能强大的Django管理工具应用
首先查看管理工具运行效果:
图1 首页登陆界面,漂亮吧
图2 登陆成功后管理界面,Django框架自带,一行代码搞定
图3 操作后台contact实体表,可以进行增加、删除、修改以及查询
具体代码见:https://coding.net/u/LiuZhen1995/p/MyDemo/git/tree/origin_nine/
参考资料:
1.《Python Web开发学习实录》 李勇 王文强 编著
2.http://www.runoob.com/django/django-tutorial.html
3.https://code.ziqiangxuetang.com/django/django-tutorial.html
Python学习笔记_04:Django框架简介的更多相关文章
- python学习笔记之——unittest框架
unittest是python自带的单元测试框架,尽管其主要是为单元测试服务的,但我们也可以用它来做UI自动化测试和接口的自动化测试. unittest框架为我们编写用例提供了如下的能力 定义用例的能 ...
- Python学习笔记22:Django下载并安装
Django它是一个开源Web应用程序框架.由Python书面. 通过MVC软件设计模式,这种模式M,视图V和控制器C. 它最初是一个数字新闻内容为主的网站已经发展到管理劳伦斯出版集团.那是,CMS( ...
- Python学习笔记23:Django构建一个简单的博客网站(一个)
在说如何下载和安装Django,本节将重点讨论如何使用Django站点. 一 新建project 命令:django-admin startproject mysite # 有的须要输入:django ...
- Python学习笔记(一)简介总览
Class 1 一.简介 python:脚本语言.解释型语言 缩进是python语言很重要的一个标志 python3是未来的发展趋势 二.安装 windows: 1.下载安装包: https://ww ...
- Python学习笔记(Django篇)——3、创建第一个数据库模型
Django里面集成了SQLite的数据库,对于初期研究来说,可以用这个学习. 第一步,创建数据库就涉及到建表等一系列的工作,在此之前,要先在cmd执行一个命令: python manage.py ...
- Python学习笔记之发展史、简介以及特点
Python发展史 Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的. Python 本身也是由诸多其他语言发展而来的,这包括 ...
- python 学习笔记十七 django深入学习二 form,models
表单 GET 和 POST 处理表单时候只会用到GET 和 POST 方法. Django 的登录表单使用POST 方法,在这个方法中浏览器组合表单数据.对它们进行编码以用于传输.将它们发送到服务器然 ...
- Python学习笔记(Django篇)——2、创建第一个django应用
在helloworld工程的基础上,我们准备创建第一个基于web的django应用,把这个应用名字命名为demo 首先,是如何创建这个应用包,当然第一选择我们可以进入到cmd中,执行如下命令 py ...
- Python学习笔记(Django篇)——1、环境搭建篇(如何在Pycharm中配置Python和Django)
1.准备好以下东东,并且按照先后顺序进行安装: Python 3.6 (64-bit) Django-1.11.tar.gz pycharm-community-2016.3.2.exe 安装好了 ...
随机推荐
- Objective-C 入门笔记
简介 建立在C语言之上,可以混编C/C++代码,编写一个类需要二个文件: .h的头文件 .m的实现文件(如果是C/C++混编文件,文件后缀为.mm) 既然有头文件,所以很多人会拿它与C++进行类比,它 ...
- Eclipse启动时提示Fail to create the Java Virtual Machine的解决方法
这个错误是Eclipse里面的一个bug,我们通过如下的设置就可以解决它. 打开eclipse安装目录下的eclipse.ini文件: 将其中的256m改为128m,512m改为256m,1024m改 ...
- [转]PHP traits
From : http://www.php.net/manual/zh/language.oop5.traits.php 自 PHP 5.4.0 起,PHP 实现了代码复用的一个方法,称为 trait ...
- SQL Server 数据库项目
ylbtech-.NET Framework: SQL Server 数据库项目 SQL Server 数据库项目 类型:SQL Server 用于创建 SQL Server 数据库的项目 1. 新建 ...
- C#中的自动赋值
工作中用到对同一个类型的对象的赋值,需要逐个属性的赋值赋过去,在网上找了很久没发觉合适的,就自己动手写了个,以做备忘用. protected void AutoAssign(object from , ...
- [转]使用HackCube-Special分析胎压传感器信号
胎压无线传感器安全检测 我们团队之前也有用USRP和GNUradio对其他的胎压设备进行的安全检测,我不使用这套环境的原因是软件无线电的设备和笔记本已经算体积不小的一套设备,通常测试环境都在户外,在这 ...
- C++ assert 断言使用
在研究corepattern需要让程序出core, 因此用到的assert, 记录一下. 写严谨代码时,也可以使用assert进行严格的条件判断. 函数原型: #include <asser ...
- go语言之进阶篇普通变量的方法集
1.普通变量的方法集 示例: package main import "fmt" type Person struct { name string //名字 sex byte // ...
- vue嵌套路由总结
嵌套路由就是在一个被路由过来的页面下可以继续使用路由,嵌套也就是路由中的路由的意思. 比如在vue中,我们如果不使用嵌套路由,那么只有一个<router-view>,但是如果使用,那么在一 ...
- Apache Mahout:适合所有人的可扩展机器学习框架
http://www.ibm.com/developerworks/cn/java/j-mahout-scaling/ 在软件的世界中,两年就像是无比漫长的时光.在过去两年中,我们看到了社交媒体的风生 ...