django2

请求的转发:1.刷新浏览器重新提交表单 2.只能在项目内部跳转 3.地址没有改变
重定向:一次以上的请求,不能带参数到页面
刷新页面不重复提交表单用重定向解决
return render 返回一个新页面
return redirect 返回一个新页面
return HttpResponse 返回在本页


.objects.get或者filter get获取,filter获取过滤  


登录
views
def login(request):
    if request.method=="GET":
        return render(request,"login.html")
    else:
        uname = request.POST.get("usename")
        pwd = request.POST.get("pwd")
        #从数据库中查询此用户名密码
        blogUserSet=BlogUser.objects.filter(userName=uname,pwd=pwd)
        if len(blogUserSet)==1:
            #跳转到登录的主页面
            return redirect(reverse("user:success",args=[blogUserSet[0].id]))
        else:
            return render(request,"login.html",{"mess":"用户名密码不正确"})
html页面

    {% csrf_token %}
    用户名: {{ mess }}

    密码:

   
blog urls
path('login',views.login),
path('success/',views.success,name='success')


解决注册用户名重复
利用jqure

   


views需要导入from django.views.decorators.csrf import csrf_protect
@csrf_protect
def hasname(request):
    username=request.POST.get("uname")
    blogUser=BlogUser.objects.filter(userName=username)
    if len(blogUser>0):
        return HttpResponse("用户名已存在")
    else:
        return HttpResponse("该用户名可用")

你可能感兴趣的:(django2)