Django学习(二) 之 模板的使用

这篇具有很好参考价值的文章主要介绍了Django学习(二) 之 模板的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

昨晚应该是睡的最好一天吧,最近一个月睡眠好差,睡不着不说,而且半夜总醒,搞的我第二天就会超没精神。

昨天下午去姐姐家,我刚进屋,小外甥直接就问我说:

老舅,你都很长时间没来啦,**(前女友)哪去了, 我们都好久没出溜溜了!

我顿了下说,她不喜欢我们了,等以后天暖和,我们再去溜溜。

才发现,忘掉一个人真的很难,明知道没结果,还是没法轻易做到波澜不惊,不去想念。

模板的使用

1、视图与html页面

视图: 浏览器窗口展示出来的页面内容,就是视图。
html页面: 在页面上展示出的纯文本内容,打开的浏览器页面,就是html页面

2、创建应用

python manage.py startapp mycontent

3、配置setting

setting.py文件中,找到INSTALLED_APPS,并在最后一行添加如下内容:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mycontent',
]

4、添加模板templates

在新建的应用下创建templates模板文件夹,在模板下创建content.html,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>content demo</title>
</head>
<body>
<h3>this is a content</h3>
</body>
</html>

5、url与视图绑定

接下来,需要将htmlurl绑定,啥意思,就是你访问url连接可以看到你刚才的html文件内容。
我们需要在mycontent/views.py里写视图函数添加如下代码:

from django.shortcuts import render

# Create your views here.
from django.shortcuts import render
from django.http import HttpResponse


# Create your views here.

def index(request):
    return HttpResponse("Hello world !  django ~~")


def my_content(request):
    return render(request, 'content.html')

django_project/urls.py里添加url访问路径,示例代码如下:

from django.conf.urls import url

from mycontent import views

urlpatterns = [
    url('^$', views.index),
    url('^my_content', views.my_content())
]


访问http://127.0.0.1:8000/my_content可以看到效果如下:
Django学习(二) 之  模板的使用

6、urls.py配置规则

主要有三个:path、re_path、url

  • path 只能绝对匹配路径地址,不支持正则匹配
  • re_path 支持正则匹配,django 1.x版本常用
  • url 支持正则匹配,实际上就是return re_path, django2.x版本推荐

path()re_path()源码看,path()的匹配规则是RoutePatternre_path()匹配规则是RegexPattern

path = partial(_path, Pattern=RoutePattern)
re_path = partial(_path, Pattern=RegexPattern)

url()源码,也是使用的re_path()

def url(regex, view, kwargs=None, name=None):
    return re_path(regex, view, kwargs, name)

7、动态url的处理

沿用博主的案例吧,就是分页跳转的例子,不能动态写死,只需要用正则表达式匹配数字即可,匹配任意数字,可以用正则\d+匹配,如下所示:

url('^pagehelper=\d+$', views.pagehelper)

模拟场景就是,传入非数字类型参数返回404 Not Found,在mycontent/views.py修改代码如下:

# Create your views here.
from django.http import HttpResponse, Http404
from django.shortcuts import render


# Create your views here.

def index(request):
    return HttpResponse("Hello world !  django ~~")


def my_content(request):
    return render(request, 'content.html')

def pagehelper(request,num):
    try:
        num=int(num)
        return render(request, 'content.html')
    except:
        raise Http404



django_project/urls.py里添加url访问路径,示例代码如下:

from django.conf.urls import url
from django.urls import re_path, path

from mycontent import views

urlpatterns = [
    path("index/", views.index),
    re_path('^$', views.index),
    url('^$', views.index),
    url('^my_content/$', views.my_content),
    url('^my_content/page=(\d+)$', views.pagehelper),
]

效果:

Django学习(二) 之  模板的使用

Django学习(二) 之  模板的使用

这个报错,主要是因为Django设置文件setting.py里面有个参数 DEBUG = True,将其更改为FalseDjango将显示标准的404页面。

默认显示如下:
Django学习(二) 之  模板的使用

知识点:

  • DEBUG=True:表示处于开发阶段,默认为True
  • DEBUG = False:表示开发完成正式发布产品上线
  • ALLOWED_HOSTS:域名访问权限,设置可以访问的域名,默认值为空\[], 只允许localhost127.0.0.1在浏览器上访问。
  • 修改DEBUG = False后,,必须重新启动服务,同时需要加个ALLOWED_HOSTS 地址,如果想让所以的域名都能访问,可以设置为:ALLOWED_HOSTS = ["*"]
  • 修改后使用如下命令重启:python manage.py runserver

效果如下:
Django学习(二) 之  模板的使用

写在最后

一段感情开始容易,结束却很难,它不是今天和明天的一刀切,分开了就是两条路,它是过往习惯的终结,是爱过但也不再爱的承认,是一个人面对未知的勇气,是从此一别两宽、各生欢喜。

如果可以,我也想这么释然,放过自己,不再这么内耗自己了。文章来源地址https://www.toymoban.com/news/detail-748300.html

到了这里,关于Django学习(二) 之 模板的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django基础入门⑤:模板变量和标签的使用

    🏘️🏘️个人简介:以山河作礼。 🎖️🎖️: Python领域新星创作者,CSDN实力新星认证,阿里云社区专家博主,CSDN内容合伙人 🎁🎁:Web全栈开发专栏:《Web全栈开发》免费专栏,欢迎阅读! 🎁🎁: 文章末尾扫描二维码可以加入粉丝交流群,不定期免费送书。 📑📑 模板变

    2024年02月09日
    浏览(36)
  • 从零开始的Django框架入门到实战教程(内含实战实例) - 01 创建项目与app、加入静态文件、模板语法介绍(学习笔记)

      Django是目前比较火爆的框架,之前有在知乎刷到,很多毕业生进入大厂实习后因为不会git和Django框架3天就被踢掉了,因为他们很难把自己的工作融入到整个组的工作中。因此,我尝试自学Django并整理出如下笔记。   在这部分,我将从Django的安装讲起,从创建项目到制

    2024年02月09日
    浏览(69)
  • 昨晚做梦面试官问我三色标记算法

    本文已收录至GitHub,推荐阅读 👉 Java随想录 微信公众号:Java随想录 原创不易,注重版权。转载请注明原作者和原文链接 目录 三色标记算法 增量更新 原始快照 某天,爪哇星球上,一个普通的房间,正在举行一场秘密的面试: 面试官:我们先从JVM基础开始问,了解三色标记

    2024年02月11日
    浏览(38)
  • Web 开发 Django 模板

    上次为大家介绍了 Django 的模型和自带的管理工具,有了这个工具就可以全自动地根据模型创建后台管理界面,以供网站管理者更方便的管理网站数据。有了网站数据,那怎么样更方便又好看的展示给用户看呢?目前流行的 Web 框架基本都采用  MVC  的架构,而 Django 在这个架

    2024年02月11日
    浏览(40)
  • Django_模板标签语法

    目录 引用变量 for循环标签 if条件标签 with标签 注释 extends和block标签 csrf_token标签 load static标签 源码等资料获取方法 可以使用 {{}} 引用视图函数响应的变量和模板中的变量。 比如有如下视图函数 在模板中引用变量方式如下 界面展示如下 可以使用 {{ for 变量 in iters }}...{% en

    2024年02月13日
    浏览(30)
  • Django的模板语言

    作为一个网络框架,Django 需要一种方便的方式来动态生成 HTML。最常见的方法是依靠模板。一个模板包含了所需 HTML 输出的静态部分,以及一些特殊的语法,描述了如何插入动态内容。 Django 定义了一个标准的API,用于加载和渲染模板,而不考虑后端。加载包括为给定的标识

    2024年01月16日
    浏览(29)
  • Django模板语法和请求

    创建的django项目下会有一个seeetings.py的文件 如果在seeetings.py 中加了 os.path.join(BASE_DIR,‘templates’),如果是pycharm创建的django项目会加上,就会默认先去根目录找templates目录下的html文件,之后在去注册的app中找,按照app注册的顺序; 如果在seeetings.py中没有 os.path.join(BASE_DIR,‘

    2024年02月15日
    浏览(33)
  • Django模板(四)

    加载一个模板,并在当前上下文中进行渲染。这是一种在模板中 “包含” 其他模板的方式 简单的理解:在当前模板中 引入 另外一个模板内容 1.1、使用方法 模板名称可以是变量,也可以是单引号或双引号的硬编码(带引号)的字符串 1.2、include传参数 view传参 context: temp

    2024年02月21日
    浏览(25)
  • Django模板

    新建一个新项目Day02MyDjangoPro02 根路由 Day02MyDjangoPro02urls.py Appviews.py 新建 templatesindex.html 练习继承 templatesblock.html templateschild_include.html templateschild.html Jinja2是之前我们在Flask框架讲过的一个模板引擎,是模仿Django默认模板引擎基础上开发的,比Django模板引擎性能更好,功能

    2024年02月12日
    浏览(30)
  • Django - 视图和模板

    视图 - 是具体的业务代码 在 app 下的 views.py 文件中编写代码     为了调用该视图,我们还需要编写urlconf,也就是路由配置。在polls目录中新建一个文件,名字为urls.py(不要换成别的名字),在其中输入代码如下:     接下来,在项目的主urls.py文件中添加urlpattern条目,指

    2024年04月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包