Django页面跳转

一.a链接

1.在a链接的路径中用?传参数

实例:通过学生所在的班级编号,获取这个班级的信息

a.在html页面的a链接地址中用?添加参数,需要在地址中设置参数名和参数值


1.png

b.url中地址不需要设置参数


2.png

c.函数中不需要传入此参数,在函数中用GET.get('参数名')的方法获取


Django页面跳转_第1张图片
3.png
2.直接在a链接的路径后加参数

a.在a链接路径末尾直接加上参数


1.png

b.给url中的地址加上参数匹配,此处暂时忽略下方的name参数


2.png

c.函数中需要传入此参数不需要再通过GET.get()获取,可以直接使用


3.png
3.a链接路径写法

在页面点击登陆,跳转登陆页面,在url中写法如下:
>>>主目录urls文件中配置app的url

url(r'^axf/', include('axf_app.urls', namespace='axf')),

>>>app目录urls文件配置login路径

url(r'^login/', views.userLogin, name='login'),

a.正则表达式

登陆

b.namespace:name

登陆

二.HttpResponseRedirect

1.跳转页面需要参数

a.用reverse传参数
注意:reverse中的地址必须用 namespace:name 形式


Django页面跳转_第2张图片
1.png

b.url中的地址必须指定参数名称


2.png
2.跳转页面不需要参数

a.不需要传参数,可直接用HttpresponseRedirect

def addStuInfo(request, stu_id):

    if request.method == 'GET':
        return render(request, 'addstuinfo.html', {'stu_id': stu_id})
    if request.method == 'POST':
        StudentInfo.objects.create(
            i_addr=request.POST.get('addr'),
            s_id=request.POST.get('stu_id'),
            # 获取图片用FILES
            i_image=request.FILES.get('image')
        )
        return HttpResponseRedirect('/stuapp/index/')

b.url地址不需要传参数

def index(request):

    if request.method == 'GET':
        stus = Student.objects.all()
        return render(request, 'index.html', {'stus': stus})

三.HttpResponse

1.返回一个页面
return HttpResponse('index.html')
2.返回内容
return HttpResponse(’登陆成功‘)

你可能感兴趣的:(Django页面跳转)