一.a链接
1.在a链接的路径中用?传参数
实例:通过学生所在的班级编号,获取这个班级的信息
a.在html页面的a链接地址中用?添加参数,需要在地址中设置参数名和参数值
b.url中地址不需要设置参数
c.函数中不需要传入此参数,在函数中用GET.get('参数名')的方法获取
2.直接在a链接的路径后加参数
a.在a链接路径末尾直接加上参数
b.给url中的地址加上参数匹配,此处暂时忽略下方的name参数
c.函数中需要传入此参数不需要再通过GET.get()获取,可以直接使用
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.正则表达式
<a href="/axf/login/">登陆</a>
b.namespace:name
<a href="{% url 'axf:login' %}">登陆</a>
二.HttpResponseRedirect
1.跳转页面需要参数
a.用reverse传参数
注意:reverse中的地址必须用 namespace:name 形式
b.url中的地址必须指定参数名称
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(’登陆成功‘)