python+Django框架运用(一)
Django 介绍:
django是一个采用Python语言开发的开源框架,2005年发布。早期是做新闻以及内容管理的网站的,提供了非常强大的后管理系统。
django官网:https://www.djangoproject.com
框架模式:
djando的框架模式 - MTV:
M (Models)-------> 模型层:负责数据库的建模以及CRUD(增删改查)操作;
T (Templates)--------> 模板层:用于处理用户显示的内容,比如HTML;
V (Views)--------> 视图层:处理与用户交互的部分操作,从模型中获取数据,再将数据发送给模板,并显示给用户。
ps: MTV是属于django的一种框架模式,除了MTV之外还有一个比较出名的模式--MVC;
MTV和MVC的功能做一个简单对应,如下:
M - - - - - - M(Models):模型层
T - - - - - - V(Views):视图层
V - - - - - - C(Controllers):控制层
下面有一张MTV模式的框架图:

Django安装
ps:ubuntu系统
一、先查看是否已安装Django,
在终端中进入python3的交互模式,导入django;如果成功,输入一下命令查看版本
django.VERSION
二、开始安装
1、在线安装
sudo pip3 install django (默认安装最高版本)
sudo pip3 install django==1.11.8 (指定安装版本为1.11.8)
ps:这里根据自身需求
2、离线安装
1). 先到官网下载所需的Django安装包
2). 在环境中解压Django包
tar -xvf Django-1.11.8.tar.gz
3). 进入到解压出来的目录中进行安装
sudo python3 setup install
Django的简单使用
一、创建Django项目,在终端中输入如下指令:
django-admin startproject 项目名
例: django-admin startproject mytext
二、启动服务并访问网站
使用manage.py文件来启动服务,如下:
python3 manage.py runserver
ps:也可以使用./manage.py runserver 启动,但是如果你使用的是python3,需要进入manage.py文件中,将第一行改为 #!/usr/bin/env python3(已经是则不用改)
Djanogo项目的结构
一、manage.py ---->负责执行Django中的各项操作文件:
如:
启动服务、创建管理员、创建应用、数据库的同步操作等....
二、主目录(名称同项目名)
1、__init__.py
项目的初始化文件,服务启动时,会自动执行。
2、urls.py
项目的基础url配置文件
3、wsgi.py
应用服务器配置文件
4、settings.py
项目的猪设置文件,下面介绍settings.py文件中的一些重要变量的含义:
BASE_DIR: 获取当前项目的根目录路径
DEBUG:调试模式,开发过程中推荐使用True,上线运行推荐是False
ALLOWED_HOSTS:设置允许访问本项目的地址列表,默认为空,表示只能本地,* 表示任何地址
INSTALLED_APPS:指定已安装的应用,如果有自己创建的应用,需要在这进行注册
MIDDLEWARE:指定注册的中间件
ROOT_URLCONF:指定项目的基础路由配置文件
TEMPLATES:指定模板的信息
DATABASES:指定数据库的信息
LANGUAGE_CODE:指定网站显示的语言,中文(zh-Hans)
TIME_ZONE:指定时区,中国时区(Asia/Shanghai)
URL的使用
1、urls.py(文件)
默认是在主目录中,主路由配置文件,会包含最基本的地址映射;每个请求到达之后
都会由urls.py文件中urlpatterns列表的url进行匹配;url()函数匹配上之后,可能交给其他
urls.py文件或者视图(views)处理。
2、url()函数
语法:url(regex, views, kwargs=None, name=None)
regex:正则表达式,匹配请求的url
views:视图处理函数或者其他urls.py文件
kwargs:字典,用来向views传参
name:字符串,给url起别名.
3、通过 url 向 views 传参
1).使用正则表达式传参
使用子组传参,一个子组是一个参数,想要多个参数的话,可以使用多个子组
子组 - ()
urlpatterns = [
#访问路径是run/的时候,交个run_views去处理
url(r'^run/$',run_views),
#访问路径是run/任意两位数字,交给run_args_views去处理
url(r'^run/(\d{2})',run_args_views),
#访问路径是run/四位数字/两位数字/,交给run1_views处理
url(r'^run/(\d{4})/(\d{2})/$',run1_views),
]
ps:
1、在url()中,一个子组()表示一个参数
2、在views.py中,对应的处理函数要根据url()中子组的个数,相应的定义参数,定义的参数要位于request之后
例子:
1、url(r'^run/(\d{2})',run1_views),
def run1_views(request,num)
2、url(r'^run/(\d{2})/(\d{4})',run2_views)
def run2_views(request,num1,num2)
4、使用url()第三个参数,字典传参
url(r'^show/$',show_views,{'name':'laoshe','age':'89'})
def show_views(request,name,age):
name:表示的就是字典name参数的值
age:表示的就是字典age参数的值
ps:
1、视图处理函数中,必须声明参数
2、参数的名称和位置,必须要与字典中的名称和位置保持一致
python+Django框架运用(一)的更多相关文章
- [Python] Django框架入门
说明:Django框架入门 当前项目环境:python3.5.django-1.11 项目名:test1 应用名:booktest 命令可简写为:python manager.py xxx => ...
- 利用 Python django 框架 输入汉字,数字,字符,等。。转成二维码!
利用 Python django 框架 输入汉字,数字,字符,等..转成二维码! 模块必备:Python环境 + pillow + qrcode 模块 核心代码import qrcode qr = ...
- Python Django框架笔记(五):模型
#前言部分来自Django Book (一) 前言 大多数web应用本质上: 1. 每个页面都是将数据库的数据以HTML格式进行展现. 2. 向用户提供修改数据库数据的方法.(例如:注册.发表评 ...
- Python Django框架笔记(三):django工作方式简单说明和创建用户界面
(一) 说明 简单说明下django的工作方式,并举2个例子. (二) Django工作方式 假定我们有下面这些文件 ,这里在前2篇的基础上增加了 templates目录(存放html文件) 和s ...
- Python Django框架笔记(一):安装及创建项目
#推荐一本书<Python核心编程>(适合有一定基础的),美国人Wesley Chun编写的,京东.淘宝应该都有.我是觉得写的很好,详细.简洁.满满的干货,不像有的书整本看完也没什么用. ...
- python django框架(一)
s4day63内容回顾: 1. 安装 2. 创建用户 + 授权 3. 连接 - 数据库 终端创建数据库(字符编码) - 数据表 终端 ORM pymysql create ...)engine=inn ...
- [Python] Django框架入门5——静态文件、中间件、上传图片和分页
说明: 本文主要描述Django其他的内容,涉及静态文件处理.中间件.上传文件.分页等. 开发环境:win10.Python3.5.Django1.10. 一.静态文件处理 在Django项目的静态文 ...
- python Django框架正式准备工作
之前由于不太了解数据库方面的知识,但经过一段时间的web应用的开发学习,成功的用其他框架连接了数据库,并完成了相关操作,数据爬取也初识了,更了解了python这门语言的语法,但路还很长,因此现在才能正 ...
- python django框架+vue.js前后端分离
本文用于学习django+vue.js实现web前后端分离协作开发.以一个添加和删除数据库书籍应用为实例. django框架官方地址:https://www.djangoproject.com/ vu ...
- Python Django框架笔记(六):模板
(一){%%}和{{ }} {% for post in posts %} <a href=""><h2>{{ post.title }}</h2&g ...
随机推荐
- 简单ORM工具的设计和编写,自己项目中曾经用过的
http://www.cnblogs.com/szp1118/archive/2011/03/30/ORM.html 在之前的一个项目中自己编写了一个简单的ORM小工具,这次重新整理和重构了一下代码, ...
- iOS - Charles抓包数据
一.Charles Charles破解版下载地址点我 1.1 Charles主要的功能 .截取Http.Https网络请求内容 .支持修改网络请求参数,方便调试 .支持网络请求的截取 并动态修改 1. ...
- 最简单,最实用的数据库CHM文档生成工具——DBCHM
DBCHM支持SqlServer/MySql/Oracle/PostgreSQL等数据库的表列批注维护管理. DBCHM有以下几个功能 表,列的批注可以编辑保存到数据库. 表,列的批注支持通过pdm文 ...
- hdu1754 I Hate It【线段树】
很多学校流行一种比较的习惯.老师们很喜欢询问,从某某到某某当中,分数最高的是多少. 这让很多学生很反感. 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问.当然,老 ...
- CONVERT(varchar(10), getdate(), 120 )中数字参数用法
这是一个mssql数据库的函数,Convert函数的作用,是进行数据类型的转换.而您所问的这个convert(char(20),openDate,120)则是对日期字段,进行格式化转换成字符格式的函数 ...
- XTU 1264 - Partial Sum - [2017湘潭邀请赛E题(江苏省赛)]
2017江苏省赛的E题,当时在场上看错了题目没做出来,现在补一下…… 题目链接:http://202.197.224.59/OnlineJudge2/index.php/Problem/read/id ...
- PyQT5初学(一)
PyQt5 是Digia的一套Qt5与python绑定的应用框架,同时支持2.x和3.x.本教程使用的是3.x.Qt库由Riverbank Computing开发,是最强大的GUI库之一 ,官方网站: ...
- Python的浅拷贝与深拷贝
定义: =号浅拷贝:在Python中对象的赋值其实就是对象的引用.copy了之后两个仍然是同一个东西.那么他们内部的元素自然也是一样的,对其中一个进行修改,另一个也会跟着变> copy()浅拷贝 ...
- ios -RunTi me(相关知识)
一,推荐两片比较好的介绍RunTime的博文 1>runtime运行时官方文档翻译 2>runtime的学习总结 1.类和对象 2. 成员变量和属性 3.方法与消息 4.Method ...
- jquery中的ajax方法参数的用法和他的含义:
转自:https://www.cnblogs.com/huiyuantang/p/5458278.html 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.ty ...