自我总结42

基于第三方模块帮你lu

wsgiref模块 web服务网关接口

基于上面的代码按照功能的不同拆封成不同的文件夹

views.py 里面的放的是函数 我们管这些函数叫视图函数 视图层

urls.py 里面放的是 路由(后缀)与视图函数的对应关系 路由层

templates 文件夹 里面放的全是html文件 模板层

增加一个功能 改动两个文件

urls.py中新增一组对应关系 然后去views.py写一个视图

动静态网页

静态网页

数据是写死的 万年不变(哪怕改变了 也是人为直接修改)

动态网页

数据是实时获取的

后端获取时间展示到html页面 直接利用字符串的替换完成

jinja2模板

专门用来处理后端数据与html页面的交互

模板语法(极其贴近python后端语法)

后端生效的,浏览器是无法识别模板语法

所有的数据渲染全都是在后端事先生成好的 然后将完整的数据传给html页面

让你能够在html页面上 也能够用后端python语法来操作后端传递过来的数据

<p>{{ userDic }}</p>
		<p>{{ userDic.username }}</p>
		<p>{{ userDic['age'] }}</p>
		<p>{{ userDic.get('hobby') }}</p>
		<p>{{ userDic.get('hobby').0 }}</p>
		<p>{{ userDic.get('hobby').1 }}</p>
		<p>{{ userDic.get('hobby').2 }}</p>
		
		{% for user_dic in user_list %}
			<tr>
				<td>{{ user_dic.id }}</td>
				<td>{{ user_dic.username }}</td>
				<td>{{ user_dic.password }}</td>
			</tr>
		{% endfor %}

模板的渲染,将后端传递给html文件的数据 在后端处理好 生成一个完整的html文件的过程

python三大主流web框架(了解知识)

Django 大而全 自带的组件和功能非常非常多 类似与航空母舰

​ 写项目的时候 可能会比较笨重

Flask 小而精 短小精悍 自带的组件和功能特别特别少

​ 基本全部依赖于第三方组件

​ 不足之处:受限于第三方模块的影响比较大

​ 如果将flask所有第三方模块加起来 能够直接盖过django

tornado 异步非阻塞 这个框架设置可以用来开发游戏服务器

主流web框架 a:socket部分 b:路由匹配 c:模板语法
Django wsgiref(django默认的) / /
Flask werkzeug / jinja2
Tornado / / /

注:/ 都表示自己是自身写的

django框架介绍

注意事项

  1. 计算机名称不能有中文
  2. 推荐使用版本3.4~3.6
  3. 一个pycharm窗口 只能跑一个项目

django版本问题

django版本以1.11.11为主(1.11.9~1.11.13)

命令行创建项目

创建django项目

django-admin startproject 项目名

启动django项目

切换到项目文件夹下(管理员模式下)

python manage.py runserver

创建应用(django支持多app开发)

python manage.py startapp app名称

注意

  1. 不会自动帮你创建templates文件夹
  2. 配置文件中不会自动帮你书写templates文件路径

app的概念

django是一个以开发app为主要功能的web框架

app就是application应用的意思

例子:

一个django项目就是一所大学(空的架子  本身没有任何功能)		

而app就类似于大学里面的各个学院


一个django本身没有任何作用,仅仅是为app提高前期的环境

你可以根据功能的不同 开发多个app



一个app对应一个具体的功能模块

	用户相关的功能,用户相关的app

	订单相关的功能,订单相关的app

 	商品相关的功能  商品相关的app

每一个app都有自己独立的功能

创建好的app需要在django配置文件中注册方可生效

INSTALLED_APPS = [
			'django.contrib.admin',
			'django.contrib.auth',
			'django.contrib.contenttypes',
			'django.contrib.sessions',
			'django.contrib.messages',
			'django.contrib.staticfiles',
			# 'app01'  # 简便写法
			'app01.apps.App01Config'  # 最完整的写法
		]

pycharm创建项目

  1. 创建应用的时候 可以使用简便方式
Tools >>> run manage.py task
  1. 一定要确保同一个端口 同一时间只能启一个django项目
  2. 配置文件中针对templates文件夹的路径 如果是空的需要你手动配置
TEMPLATES = [
	{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
			'django.template.context_processors.debug',
			'django.template.context_processors.request',
			'django.contrib.auth.context_processors.auth',
			'django.contrib.messages.context_processors.messages',
			],
		},
	},
]

django文件功能

django项目名
项目同名的文件夹
settings.py  暴露给用户可以配置的配置文件
urls.py      路由与视图函数对应关系
manage.py        django的入口文件
应用名文件夹
migrations文件夹     所有数据库相关的操作记录
admin.py             django admin后台管理
apps.py              注册app使用
models.py            放所有数据库相关的模型类
tests.py			 测试文件
views.py             处理业务逻辑的视图函数

django基本配置及注意事项

django小白必会三板斧

HttpResponse 返回字符串

render 返回html文件 可以给html页面传值

redirect 重定向 直接写你本网站的路径后缀 / 也可以全路径

注意

重启机制 django默认是自动重启的

内有检测机制 实时检测所有文件的变化(有时候会产生 你代码还没写完 就自动重启报错的情况 不用管 每次写完代码之后 自己手动重启)
posted @ 2019-11-22 22:04  jzm1201  阅读(90)  评论(0编辑  收藏  举报