Django小技巧07: 在模板中获取当前URL

翻译整理自: simpleisbetterthancomplex.com

确保项目配置里的context_processors包含django.template.context_processors.request.

从 Django 1.9 开始, 默认是已经配置的。

Python

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

获取当前位置:

Django/Jinja

{{ request.path }}

获取带有querystring的URL:

Django/Jinja

{{ request.get_full_path }}

获取完全的绝对路径:

Django/Jinja

{{ request.build_absolute_uri }}

示例表

假设, 我们的URL是: https://jackeygao.io/search/?keyword=django

Method

Output

request.path

/search/

request.get_full_path

search/?keyword=django

request.build_absolute_uri

https://jackeygao.io/search/?keyword=django

Django 1.7 或者更早的版本

settings.py

Raw

from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP

TEMPLATE_CONTEXT_PROCESSORS = TCP + (
    'django.core.context_processors.request',
)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏计算机编程

SNS项目笔记<四>--RXjs简要用法

在命令行输入ionic g provider youProviderName 在创建好后,系统会自动导入从@angular/http里导入Http这个类,方便后...

15440
来自专栏程序员同行者

配置django图片上传与保存展示

27520
来自专栏智能大石头

NewLife.Net——开始网络编程

网络编程的重要性就不说了,先上源码:https://github.com/nnhy/NewLife.Net.Tests

10200
来自专栏深度学习之tensorflow实战篇

django整理(四)配置setting文件(CSS,JS,images,templates)路径

关于django配置静态文件的问题,官方文档讲的不太清楚,整理如下: 在manager.py同层级下创建static文件夹 添加到INSTALED_APPS 配...

36460
来自专栏我的博客

apache防盗链

#防盗链 RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_...

29240
来自专栏緣來來來

Django实现压缩静态文件

在网站开发阶段,对于静态资源文件比如JS,CSS等文件都是未经过压缩合并处理的,这对于访问量巨大的网站来说不仅浪费带宽,而且也会影响网站的访问速度。

20820
来自专栏知识分享

9-开发板接入小五物联实现远程控制(Wi-Fi模块)

这一节为教程最终版功能演示,现在不必深究,早晚自己全部都会实现的(静静的跟着我学哈)

23720
来自专栏草根专栏

使用Identity Server 4建立Authorization Server (6) - js(angular5) 客户端

由于手头目前用项目, 所以与前几篇文章不同, 这次要讲的js客户端这部分是通过我刚刚开发的真是项目的代码来讲解的. 这是后端的代码: https://githu...

62150
来自专栏野路子程序员

【Laravel5】Auth组件重写密码认证方式为MD5加密

1.4K60
来自专栏飞雪无情的博客

Go语言经典库使用分析(五)| Negroni 中间件(一)

上一篇介绍的Gorilla Handlers中间件,严格来说不能称之为一个库或者框架,他只是一系列包装http.Handler的中间件函数,并且他们之间没有任何...

9630

扫码关注云+社区

领取腾讯云代金券