1 MVC和MTV MTV 路由控制层(分发哪一个路径由哪一个视图函数处理) V : views (逻辑处理) T : templates (存放html文件) M : model (与数据库打交道) 2 创建项目: django-admin startproject mysite mysite manage.py : 启动文件 交互文件 mysite settings.py :配置文件 urls.py :路由控制层(分发哪一个路径由哪一个视图函数处理) wsgi.py :socket 创建应用: python manage.py startapp app01 mysite manage.py : 启动文件 交互文件 mysite settings.py :配置文件 urls.py :路由控制层(分发哪一个路径由哪一个视图函数处理) wsgi.py :socket app01 views : 存放视图函数文件 models :数据库打交道 app02 views : 存放视图函数文件 models :数据库打交道 3 运行项目: python manage.py runserver 127.0.0.1 8800 4 示例1: 查看时间 127.0.0.1 8800/timer/ from app01 import views from app02 import views as v2 (1)在urls.py设计路由 : path('timer/',views.timer), (2)在views.py设计视图函数处理timer请求,响应一个HttpResponse(字符串) 示例2: 地址栏输入url: 127.0.0.1 8800/login/ 看到登陆页面 (1)在urls.py设计路由 : path('login/',views.login), (2)在views.py设计视图函数处理login请求(get), def login(request): render(request,"login.html") 响应一个HttpResponse(login.html) 示例3:点击submit按钮,发送post请求,url:127.0.0.1 8800/login/ def login(request): if request.method=="POST": user=request.POST.get("user") pwd=request.POST.get("pwd") if 1: return else: return... else: render(request,"login.html") 5 理解render(后端) 工作流程: return render(request,"login.html") return render(request, "app01/timer.html", {"t":ctime}) 1 按着settings-TEMPLATES-DIRS路径找指定文件 2 读取文件所有字符串 3 渲染: 检查字符串中是否有{{变量}} , if 没有找到: HttpResponse(文件字符串) else 找到 {{t}},用render第三个参数中的对应值进行相应替换(如果没有找到对应值,{{t}}---空) HttpResponse(替换后的文件字符串) 6 配置文件
相关文章: