📜  使用参数 url django 获取当前 url - Python (1)

📅  最后修改于: 2023-12-03 15:36:38.598000             🧑  作者: Mango

使用参数 url django 获取当前 url - Python

在 Django 中,我们可以使用 request 对象来获取当前请求的信息。其中包括当前请求的 URL 地址。在视图函数中,Django 会自动将请求对象作为第一个参数传递给视图函数。我们可以从请求对象中获取当前 URL。

获取当前 URL

要获取当前 URL,可以使用 request 对象的 build_absolute_uri() 方法。该方法返回一个带有当前域名和路径的完整 URL 字符串。

from django.shortcuts import render

def my_view(request):
    current_url = request.build_absolute_uri()
    context = {'current_url': current_url}
    return render(request, 'my_template.html', context)

在上面的示例中,我们在视图函数中使用 request.build_absolute_uri() 方法获取当前 URL。然后将其存储在 current_url 变量中。最后将其传递给模板上下文中。在模板文件中,我们可以通过变量名来访问传递的当前 URL。

{% extends "base.html" %}

{% block content %}
    <p>当前 URL 是:{{ current_url }}</p>
{% endblock %}
获取当前路径

如果你只需要获取请求路径,可以使用 request.path 属性。该属性返回请求路径的字符串。

def my_view(request):
    current_path = request.path
    context = {'current_path': current_path}
    return render(request, 'my_template.html', context)

在上面的示例中,我们在视图函数中使用 request.path 属性获取当前请求路径。然后将其存储在 current_path 变量中。最后将其传递给模板上下文中。在模板文件中,我们可以通过变量名来访问传递的当前请求路径。

{% extends "base.html" %}

{% block content %}
    <p>当前请求路径是:{{ current_path }}</p>
{% endblock %}
结论

通过 request 对象,我们可以轻松地获取当前请求的 URL 和路径。这使得我们可以编写灵活的 Django 视图函数,以根据当前请求作出不同的响应。