专栏首页JackeyGao的博客Django小技巧07: 在模板中获取当前URL

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 条评论
登录 后参与评论

相关文章

  • Django小技巧15: 使用基于类视图的Mixins

    依类似的方式, 你可以在UpdateView中, 重用相同的FormMessageMixin, 并覆盖默认的form_invalid_message方法.

    用户1416054
  • 一个超级小的 Django 项目.

    当用最简单的代码实现 Django 项目为最基本的要素的时候, 项目可以和微框架一样小.

    用户1416054
  • 全宋词爬取过程及数据分析

    .tagul-attribution { display: none; } .block { padding-bottom: 0 !impo...

    用户1416054
  • Jtro的技术分享:UNITY请求JAVA服务器接口

    现在有许多的服务器是用java写的,所以就需要我们请求java服务器的接口,java提供的服务器长这样:

    LittleU
  • Spring中获取request的几种方法,及其线程安全性分析

    Tanyboye
  • 聊聊claudb的pubsub command

    claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub/PublishComm...

    codecraft
  • search(3)- elastic4s-QueryDSL

    elastic4s是elasticsearch一个第三方开发的scala语言终端工具库(Elastic4s is a concise, idiomatic,...

    用户1150956
  • Ajax设置请求和接收响应、自己封装简易jQuery.Ajax、回调函数

    这篇文章是承接前几篇博客的,是前几篇继续学习 包括Ajax学习与理解和简化版自己实现jQuery等 这篇文章只算是我的个人学习笔记,内容没有精心排版,一些错误请...

    代码之风
  • 聊聊claudb的pubsub command

    claudb-1.7.1/src/main/java/com/github/tonivade/claudb/command/pubsub/PublishComm...

    codecraft
  • Spring中获取Request的几种方法及其线程安全性分析

    本文将介绍在Spring MVC开发的Web系统中,获取request对象的几种方法,并讨论其线程安全性。

    Java后端技术

扫码关注云+社区

领取腾讯云代金券