📅  最后修改于: 2023-12-03 15:36:38.598000             🧑  作者: Mango
在 Django 中,我们可以使用 request
对象来获取当前请求的信息。其中包括当前请求的 URL 地址。在视图函数中,Django 会自动将请求对象作为第一个参数传递给视图函数。我们可以从请求对象中获取当前 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 视图函数,以根据当前请求作出不同的响应。