djiago定义两个视图函数 A视图绑定A URL,B视图绑定B URL 在访问B路由的时候页面中 显示A路由的URL
时间: 2024-10-07 13:06:56 浏览: 1
在Django框架中,如果你想要定义两个视图函数(A和B),并分别绑定到不同的URL路径(A的URL和B的URL),但当用户访问B路由时,页面上显示的是A路由的URL,这通常涉及到模板和URL配置。以下是一个简化的步骤说明:
1. **定义视图函数**:
- 在`views.py`文件中创建两个视图函数,比如`view_A()`和`view_B()`。
```python
from django.shortcuts import render
def view_A(request):
return render(request, 'a_template.html', {'current_view': 'A'})
def view_B(request):
return render(request, 'b_template.html', {'current_view': 'B'})
```
2. **配置URL**:
- 在`urls.py`文件中,分别为A和B视图设置URL模式。
```python
from django.urls import path
from . import views
urlpatterns = [
path('a/', views.view_A, name='view_a'),
path('b/', views.view_B, name='view_b'),
]
```
3. **模板设计**:
- 在对应的HTML模板(`a_template.html`和`b_template.html`)中,可以添加一段代码来显示当前访问的URL。例如,在每个模板的顶部:
```html
<!-- a_template.html -->
<head>
<title>视图A</title>
<p>您当前访问的URL: {{ current_view }} (A)</p>
</head>
<!-- b_template.html -->
<head>
<title>视图B</title>
<p>您当前访问的URL: {{ current_view }} (B)</p>
</head>
```
当你访问`http://yourdomain.com/b/`时,虽然渲染的是`view_B`,但页面上会显示`当前访问的URL: A (A)`,因为这是在`view_B`的模板里直接输出的。