Python3.5学习十八 Python之Web框架 Django
Python之Web框架:
本质:Socket

引用wsgiref创建web框架

根据web框架创建过程优化所得:
分目录管理
模板单独目录
执行不同函数单独存入一个方法py文件
Web框架的两种形式和命名
MVC Model数据操作 View模板文件 Controller业务处理
MTV Model数据操作 Template模板文件 View业务处理
Django为MTV模式的WEB框架
Django安装:pip3 install django
添加环境变量
C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\Scripts
创建应用程序:

执行应用程序:
Django架构:

用Pycharm也可以快速创建一个Django项目
Django升级到2.0 给urls配置带来了变化:
以最简单的Hello World为例:
views.py
- from django.http import HttpResponse
- def hello(request):
- return HttpResponse('Hello World!')
若为Django 1.8
urls.py
- from django.conf.urls import patterns, include, url
- from django.contrib import admin
- urlpatterns = [
- url(r'^admin/', include(admin.site.urls)),
- url(r'^hello/', 'testapp.views.hello'),
若为Django 2.0
- from django.contrib import admin
- from django.urls import path
- from firstapp import views
- urlpatterns = [
- path('admin/', admin.site.urls),
- path('hello/',views.hello)
对于主站、后台需要分别创建不同的App
将业务处理代码函数,放入app中的views,在配置文件的urls导入相关app的views并引用即可。
app目录下:
migarations 记录修改表结构的记录。
__init__.py 只有创建一个python包,有这个文件,这个包下的py代码才能被其他地方导入引用。
admin.py 是Django为我们创建的后台管理程序
apps.py 配置当前App的
models.py 是创建数据库表的 创建、修改表后,都要执行 python manage.py makemigrations 和 python manage.py migrate
tests.py 用于单元测试的
views.py app相关所有业务逻辑代码
注意:要做两个配置:
1 配置模板路径 默认会配置一个templates的
2 配置css、js等静态文件单独设置目录xxx
需要再settings里配置这个路径,注意最后有个逗号!缺少就报错!如下图:

Django基本流程图

注意一点,如果views中函数跳转redirect后面对应本站url地址,需要加一个“”/“”,代指网址的前面域名部分。
模板语言语法:


Django初步回顾:



作业:
开发一个xxoo管理系统:
要求 内容维护表一张
用户表一张
登录页面、管理页面,
管理页面要有头,菜单,内容三大部分
Python3.5学习十八 Python之Web框架 Django的更多相关文章
- python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑
python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...
- Python之Web框架Django
Python之Web框架: Django 一. Django Django是一个卓越的新一代Web框架 Django的处理流程 1. 下载地址 Python 下载地址:https://www.pyt ...
- Python开发【第十八篇】Web框架之Django【基础篇】
一.简介 Python下有许多款不同的 Web 框架,Django 是重量级选手中最有代表性的一位,许多成功的网站和APP都基于 Django. Django 是一个开放源代码的Web应用框架,由 P ...
- python三大web框架Django,Flask,Flask,Python几种主流框架,13个Python web框架比较,2018年Python web五大主流框架
Python几种主流框架 从GitHub中整理出的15个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python We ...
- Python 17 web框架&Django
本节内容 1.html里面的正则表达式 2.web样式简介 3.Django创建工程 Html里的正则表达式 test 用来判断字符串是否符合规定的正则 rep.test('....') ...
- Python编程Web框架 :Django 从入门到精通
Django是一个高级别的Python Web框架,它鼓励快速开发和干净实用的设计. 现在我们开始学习它. Django学习之 第一章:Django介绍 Django学习之 第二章:Django快速上 ...
- python的web框架---Django项目
Django项目之会议室预预订: 界面效果展示: 1.创建超级管理员,实现预定界面功能 2.预定界面: (一)基于pymysql设计数据表结构,理清前后端与用户交互逻辑.(用户表,会议室表,预定内容存 ...
- 在python的web框架Django中使用SQL Server
在pycharm中安装 安装pyodbc和Django——pyodbc是一个用python写的ODBC引擎 安装Django-pyodbc-azure 在后方网址中查 ...
- python3.4学习笔记(九) Python GUI桌面应用开发工具选择
python3.4学习笔记(九) Python GUI桌面应用开发工具选择 Python GUI开发工具选择 - WEB开发者http://www.admin10000.com/document/96 ...
随机推荐
- 【Redis】Redis cluster集群搭建
Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...
- Hadoop3集群搭建之——配置ntp服务
上篇: Hadoop3集群搭建之——虚拟机安装 Hadoop3集群搭建之——安装hadoop,配置环境 下篇: Hadoop3集群搭建之——hive安装 Hadoop3集群搭建之——hbase安装及简 ...
- Codeforces 1086 简要题解
文章目录 A题 B题 C题 D题 E题 传送门 这场比赛原地爆炸了啊!!! 只做了两道. A题 传送门 手贱没关freopenfreopenfreopen于是wawawa了一次,死活调不出错. 题意: ...
- 2018.10.30 NOIP训练 【模板】树链剖分(换根树剖)
传送门 纯粹是为了熟悉板子. 然后发现自己手生了足足写了差不多25min而且输出的时候因为没开long longWA了三次还不知所云 代码
- jquery遍历之parent()与parents()的区别 及 parentsUntil() 方法
来自:http://blog.csdn.net/zm2714/article/details/8117746 .parent(selector) 获得当前匹配元素集合中每个元素的父元素,由选择器筛选( ...
- Java十进制数转二进制的方法
使用Integer.toBinaryString(num) ,可以把十进制数转换成二进制 //十进制转换成二进制 Integer.toBinaryString(num); binary 二进制 Sys ...
- shell知识积累
Ubuntu下常用的快捷键:https://blog.csdn.net/u010771356/article/details/53543041 变量名和等号之间不能有空格,变量名中间不能有空格,可以使 ...
- UVa 10870 Recurrences (矩阵快速幂)
题意:给定 d , n , m (1<=d<=15,1<=n<=2^31-1,1<=m<=46340).a1 , a2 ..... ad.f(1), f(2) .. ...
- kettle之时间字段默认值为空或’0000-00-00’问题
今天使用kettle从mysql导数到oracle,发现只导了7行后,数据传输就终止了,查看日志信息,报错如下: 报:Couldn't get row from result set问题. 发现从这行 ...
- Js Select动态添加Option
var now = new Date(); function setDate(type, id, from, to) { var str = ""; for (var i = fr ...