老男孩python全栈就业班第9期第3部分Django基础第61天Django昨日内容梳理
Django昨日内容梳理
1.内容回顾
1)HTTP 协议消息的格式
a)请求(request)
请求方法 路径 HTTP/1.1\r\n
k1:v1\r\n
...\r\n
请求体 <-- 可以有,可以没有
b)响应(response)
HTTP/1.1 状态码 状态描述符\r\n
k1:v1\r\n
Content-type:text/html; charset=utf8\r\n
响应正文 <--HTML内容
2)Web框架的本质:
a)收发 socket 消息 --> 按照 http 协议消息格式去解析消息
b)路径和要执行的函数的对应关系 --> 主要的业务逻辑
c)字符串替换 -->模板(特殊符号-->数据)
3)一个完整的请求流程:
0)启动服务端,等待客户端(用户的浏览器)来连接
a)在浏览器地址栏输入url,与服务端建立连接,浏览器发送请求
b)服务端收到请求消息,解析请求消息,根据路径和函数的对应关系,找到将要执行的函数
c) 执行函数,打开HTML文件,进行字符串替换,得到一个最终要返回的HTML内容
d)按照HTTP协议的消息格式要求,把HTML内容回复给用户浏览器(发送响应)
e)浏览器收到响应的消息之后,按照HTML的规则渲染页面
f)关闭连接
2.Django昨日内容梳理:
0)Django 安装
pip3 install django==1.11.11
pip3 install -i https//pypi.tuna.tsinghua.edu.cn/simple/ django==1.11.11
Pycharm 安装的时候
注意不要勾选那个选项(你们懂的)
1)Django 项目的启动:
a)命令行的启动
在项目的根目录下(也就是manage.py的那个目录),运行:
python manage.py runserver IP:端口 --> 在指定的IP地址和端口启动
python manage.py runserver 端口 --> 在指定的端口启动
python manage.py runserver -->默认在本机的8000端口启动
b)PyCharm启动
点绿色的小三角,直接可以启动 Djaogo项目(前提是小三角左边是你的Django项目名)
2)配置相关 项目名/settings.py 文件
a)Templates(存放HTML的位置) <-- 告诉Django去哪儿找我的HTML文件
b)静态文件(css/js/图片)
#静态文件保存目录的别名
STATIC_URL = '/static/'
#所有静态文件(css/js/图片)都放在我下面你配置的文件夹中
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static2") ,
]
c)注释掉settings.py中,带有 csrf 的那一行(大概45-47行)
实例
1.进入目录 mysite/mysite,添加文件 views.py
2.进入目录 mysite/mysite,修改文件 views.py,把 urls.py 方法的代码拷贝到文件 views.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
from django.shortcuts import HttpResponse, render
def yimi(request):
#request参数保存了所有和用户浏览器请求相关的数据
#return HttpResponse('hello yimi')
# with open("templates/yimi.html", "r", encoding="utf-8") as f:
# data = f.read()
# return HttpResponse(data)
return render(request, "yimi.html")
def xiaohei(request):
return HttpResponse('hello xiaohei')
def login(request):
return render(request, 'login.html')
3.进入目录 mysite/mysite,修改文件 urls.py,专注处理路径
from django.contrib import admin
from django.urls import path
from .views import yimi, xiaohei, login
#保存了路径和函数的对应关系
urlpatterns = [
path('yimi/', yimi),
path('xiaohei/', xiaohei),
path('login/', login),
]
实例
1.进入目录 mysite,新建文件 ospath.py,测试文件路径
2.进入目录 mysite,修改文件 ospath.py
#!/usr/bin/env python # -*- coding:utf-8 -*- import os ret = os.path.abspath(__file__) print(ret) ret2 = os.path.dirname(os.path.abspath(__file__)) print(ret2) ret3 = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(ret3) ret4 = os.path.join(ret3, "templates") print(ret4)
posted on 2019-11-01 05:16 herisson_pan 阅读(9) 评论(0) 收藏 举报
浙公网安备 33010602011771号