模版提取

在完成了花架子的搭建之后,现在需要看一下前端的Html代码了。

Html代码

打开这几份代码进行横行对比,可以发现里面好大一部分都是一样的

 1 2 3 4  5  6 My Login Page — Bootstrap 4 Login Page Snippet 7  8  91011 12 

每一个的头部都是这样的,作为一个懒惰的程序员,当然是要把他们拎出来了。

我们写一个base.html来当作模版。

以forgot.html为例,可以看出只有红框框选中的地方和其他几个文件不一样

forgot

那么我们的base.html可以写出这样

 1{% load static %} 2 3 4 5  6  7  8 {% block title %} 9 登录10 {% endblock %}11 12 13 14151617 
18 {% block main %}1920 {% endblock %}21

22232425262728

留出了{% block main %} {% endblock %}来摆放差异的内容

模块化后的forgot

新的forgot.html如图所示。

同理,完成其他几个html的模版提取。

页面渲染部分代码编写

编写代码可以通过url访问几个页面

首先是首页

有两种方式可以实现:

函数视图函数视图便于理解代码可读性与复用性都不佳类视图代码可读性好类视图相对于函数视图有更高的复用性所以选择使用类视图:

1from django.shortcuts import render2from django.views import View34class LoginView(View):5 def get(self, request):6 return render(request, 'login/index.html')

定义类视图的路由:

1from django.urls import path2from . import views34urlpatterns = [5 path('', views.LoginView.as_view(), name='login'),6]

同理,完成其他几个页面的类视图GET代码编写:

 1from django.shortcuts import render 2from django.views import View 3 4 5class LoginView(View): 6 def get(self, request): 7 return render(request, 'login/index.html') 8 910class ForgotView(View):11 def get(self, request):12 return render(request, 'login/forgot.html')131415class RegisterView(View):16 def get(self, request):17 return render(request, 'login/register.html')181920class ResetView(View):21 def get(self, request):22 return render(request, 'login/reset.html')

路由配置

1from django.urls import path2from . import views34urlpatterns = [5 path('', views.LoginView.as_view(), name='login'),6 path('forgot/', views.ForgotView.as_view(), name='forgot'),7 path('register/', views.RegisterView.as_view(), name='register'),8 path('reset/', views.ResetView.as_view(), name='reset'),9]

页面跳转

下面修改index.html里面的a标签完成页面上直接跳转

image.png

改为

同理找到全部需要修改的a标签

运行后点击页面上仅有的几个按钮测试跳转是否正常。

再把里面的一些英文改成中文,到此这个抄来的前端页面,大半都变成我们自己的东西了。

本土化

以上就完成了页面模版的提取与简单的类视图。

后续再讲POST的实现。

由于代码的量已经增加的有点多,全部贴出来不太美观,所以上库进行版本管理量。

Git地址:https://github.com/zx490336534/Zxapitest.git

ercharts一个页面能放几个_Django的页面模版提取(三)相关推荐

  1. 一个“脱裤子放屁“的功能!

    一个"脱裤子放屁"的功能! 哩语 "脱了裤子放屁",此话通常用来讥讽别人说话做事画蛇添足.多此一举. 1.背景 故事是这样的.公司的其他部门经常会要求我们部门以 ...

  2. bulma.css_如何建立一个? 具有Bulma CSS的特斯拉响应页面

    bulma.css by ZAYDEK 由ZAYDEK 0-60 in 1.9s? (0-60 in 1.9s ?) 如何建立一个? 具有Bulma CSS的特斯拉响应页面 (How To Build ...

  3. idea html ajax,在 IntelliJ IDEA 8.1中编写一个ajax jquery实例,取不到页面上的值

    在 IntelliJ IDEA 8.1中编写一个ajax jquery实例,取不到页面上的值0 brnm12942014.08.17浏览115次分享举报 public class AjaxServle ...

  4. 一个服务器上放多个网站,一个云服务器放多个网站吗

    一个云服务器放多个网站吗 内容精选 换一换 如果您使用华为云云速邮箱作为企业邮箱,并在Web端管理使用,此时需要为邮箱绑定域名,通过域名访问网页版邮箱.本节介绍使用华为云云速邮箱,且网站域名解析至中国 ...

  5. 桌上有一空盘,最多允许存放一个水果。爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果。 试用P、V操作实现爸爸、儿子、女儿三个并发进程的同步。

    问题描述:桌上有一空盘,最多允许存放一个水果.爸爸可向盘中放一个苹果或放一个桔子,儿子专等吃盘中的桔子,女儿专等吃苹果. 试用P.V操作实现爸爸.儿子.女儿三个并发进程的同步. 问题分析及思路: 本题 ...

  6. web前端项目(一) 做一个网易考拉官网 常规静态页面 + 页面放到http服务 + 前后端分离

    1 新建文件夹 分css img 文件夹 index.html 静态页面 2 将本地做的静态页面放到 http 服务 localhost:8080 设置nodejs静态目录 npm install e ...

  7. 一个服务器可以放几个小程序,一个服务器可以放几个小程序

    一个服务器可以放几个小程序 内容精选 换一换 有很多网站,特别是目前的程序比较快,很多网站管理员可以使用不同的程序来构建网站,比如当下比较流行的PHP建站程序,当然还有之前比较火的APS,.net网站 ...

  8. 使用nodejs、express以及MySQL制作一个简单类淘宝的登录注册页面

    项目搭建参考自 原文地址:https://jimmyhjh.com/nodejs-express-MySQL-4177adf369dc46d7983138b891d582c9 一.通过MySQL建立数 ...

  9. 电商微信小程序(教你一个页面一个数据接口搞定所有分类订单页面(未支付 未发货 已发货 全部订单))

    注:解析主要都在注释里面 1.mysql建表思路 1.1最重要的是状态码,如果之前没有添加字段state,可以通过以下方式 -- 添加字段(规定只能规定为 未支付.未发货.已发货) ALTER TAB ...

最新文章

  1. 19年NAACL纪实:自然语言处理的实用性见解 | CSDN博文精选
  2. Android 对BaseAdapter做优化处理
  3. SAP Spartacus npm install 里包含的 postinstall
  4. javaone_JavaOne 2014:会议与合同利益冲突
  5. oracle与raw device
  6. 阿里公开600页技术图(附下载链接),程序员看完少走10年弯路! | 干货
  7. 修改Win7的默认文件夹排列方式
  8. c语言实验集成环境软件,TurboC for Windows集成实验与学习环境
  9. java编程练习题四
  10. java接口自动化测试
  11. 算术平方根计算机保留根号,根号计算器
  12. Tasteless challenges medium WP
  13. Java实现微信开发者-测试账号申请及配置
  14. 使用vmstat命令监视系统内存--用Enki学Linux系列(14)
  15. C语言有趣的代码大全,分享一段有趣的小代码
  16. windowxp网络无法发现其他计算机,几个步骤轻松解决win7无法访问XP系统共享问题...
  17. 基于低加密指数广播攻击(Hastad攻击)的更深一步学习
  18. 牛逼了!DeepFake变脸再次来袭,强势霸屏GitHub热榜!偏门应用“美女脱衣”还会再出现么?...
  19. 色彩的基本原理——正色和负色
  20. 项目管理痛点分析——项目经理及PMO

热门文章

  1. 利用jquery实现电商网站常用特效之:五星评分
  2. 特性Attibute定义和使用
  3. PagerSwitch tab样式加上下拉刷新(一)
  4. [大牛翻译系列]Hadoop(4)MapReduce 连接:选择最佳连接策略
  5. 再谈 Formsville
  6. Blend 动画 模板
  7. 新浪搜索Tabpage
  8. 赢在AI,人工智能技术体验
  9. vue权限问题解决方案
  10. canvas简单实现动态时钟