首页 Django视频课程 模板调用细节讲解
pay pay

模板调用细节讲解

日期: 六月 24, 2023, 1:40 p.m.
栏目: Django视频课程
阅读: 132
作者: Python自学网-村长

摘要: 模板调用细节讲解

urls.py:
    url(r'^login_index/$', views.login_index),
    url(r'^login/$', views.login),
views.py:
def login_index(request):
    username = request.session.get('name', 'xx')
    return render(request, 'session/index.html', {'username': username})
def login(request):
    return render(request, 'session/login.html')
templates:
    <a href="/login/">登陆</a>

现在把主路由下面的应用路径进行修改test/,原有的<a href="/login/">登陆</a>中的链接就无法使用了

解决方法1:修改链接路径<a href="/login/">登陆</a> 为 <a href="/test/login/">登陆</a>
但是这中方法使用起来无法处理大量链接更新

解决方法2:反向解析:
主路由修改:path('', include('wakey.urls', namespace='sss')),

子路由urlpatterns上面加上app_name = '[sss]'后修改子路由
urls.py:
    url(r'^$', views.index, name='index'),
    url(r'^test/(\d+)/$', views.test, name='text'),

模板中使用反向解析
<li><a href="{% url 'sss:text' stu.id %}">学生名称:{{ stu.sname }}</a></li>

反向解析接受参数:
url(r'^login/(\d+)/$', views.login, name='log'),  # 注意视图中也要有参数
<a href="{{ url 'test:log' 123 }}">登陆</a>

 

原创视频,版权所有,未经允许,切勿转载,违者必究!
回顶部