django——入门2

开发第一个Templates

一、第二种URL配置(优化URL配置)

​ 1> 在根urls.py 中引入include;

在这里插入图片描述

​ 2> 在APP目录下创建urls.py文件,格式与根urls.py相同;

​ 3> 根urls.py中url函数第二个参数改为 include(‘blog.urls’);

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

注意事项:

​ 根urls.py针对APP配置的URL名称,是该APP所有URL的总路径;

​ 配置URL时注意正则表达式结尾符号$和/;

错误:

​ 1> 忘记在根的urls.py中设置的地址

在这里插入图片描述

应该有两个index 总路径(1)和子路径(2):

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

​ 解决方法:修改blog下面的url

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

​ 2> 在url后面输入其他字符串,网页依然会被显示出来;

在这里插入图片描述

​ 解决方法:正则表达式

在这里插入图片描述

​ 不管后面加什么字符串都是404错误;

在这里插入图片描述

​ 只有后面是空字符串时才正常显示;

在这里插入图片描述

​ 3> 正则表达式忘记加 “/”;

在这里插入图片描述
在这里插入图片描述

​ 解决方法:格式为 “^字符串/$”

在这里插入图片描述

在这里插入图片描述

二、Templatesjies介绍

什么是Templates

​ HTML文件;

​ 使用了django模板语言(django Template Language, DTL)

​ 可以使用第三方模板(如Jinjaa2)

在这里插入图片描述

步骤:

​ 1> 在APP(blog应用)的根目录下创建名叫 Templates的目录;

在这里插入图片描述
​ 2> 在该目录(templates)下创建HTML文件;

在这里插入图片描述
​ 3> 在views.py中返回render()(翻译成中文叫渲染)

​ 通过render()把HTML文件响应给浏览器;

在这里插入图片描述

刷新页面,成功时:

在这里插入图片描述

错误:

在这里插入图片描述

解决方法:templates或者HTML建错了,改好之后再运行一下python manage.py runserver

​ 其他错误情况与解决办法(尚未验证):

在这里插入图片描述

DTL初步使用:

​ rander()函数中支持一个dict类型参数;

​ 该字典是后台传递到模板的参数,键为参数名;

​ 在模板中使用{{参数名}}来直接使用;

在这里插入图片描述

在这里插入图片描述

​ 刷新页面后:

在这里插入图片描述

注意点

​ 1> 首先需要在建一个应用(APP)blog2;

在这里插入图片描述

​ 2> 把blog2添加到INSTALLED_APPS 里:

在这里插入图片描述
3> 把blog里的templates连同index.html复制到blog2中;

在这里插入图片描述

4> 把blog里的urls.py也复制过去;

在这里插入图片描述
5> 把blog里的index里改为"Hello Blog!",blog2里面的index改为"hello blog2!"便于区分;

在这里插入图片描述
在这里插入图片描述

6> 把blog里views里的render()里的第三个参数去掉,并复制到blog2里的views里面;

在这里插入图片描述

在这里插入图片描述

7> 在根目录(myblog)urls.py里的添加blog2的url;

在这里插入图片描述

错误:PEP 8: blank line at end of file

在这里插入图片描述

在这里插入图片描述

解决方案:在后面添加机构空白行即可

在这里插入图片描述

8> 启动服务器

发现blog和blog2显示的搜索blog的页面,django把这两个页面的index搞混了;

在这里插入图片描述

在这里插入图片描述

9> 原因:

django查找Templates

​ django安照INSTALLED_APPS中的添加顺序查找Templates;(如果不同应用下的Templates(目标html文件)名字相同时就会照成冲突)

​ 不同APP下的Templates目录中的同名.html文件会照成冲突;

10> 解决Templates冲突的方案

​ 在APP的Templates目录下创建以APP为名称的目录;

​ 将html文件放入新创建的目录下;

在这里插入图片描述

11> 注意还要改一下两个应用里面的views

在这里插入图片描述

在这里插入图片描述

12> 最终的效果:
在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值