首页 > 其他分享 >6 简易布局index页面,依据bootstrap

6 简易布局index页面,依据bootstrap

时间:2022-08-17 15:45:41浏览次数:79  
标签:index form get bootstrap request valid user response 页面

image

index.html
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="{% static 'blog/bootstrap/css/bootstrap.css' %}">
    <script src="{% static 'blog/js/jquery-3.6.0.min.js' %}"></script>
    <script src="{% static 'blog/bootstrap/js/bootstrap.js' %}"></script>
</head>
<body>


<nav class="navbar navbar-default">
    <div class="container-fluid">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a class="navbar-brand" href="#">博客园</a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li class="active"><a href="#">随便 <span class="sr-only">(current)</span></a></li>
                <li><a href="#">新闻</a></li>
                <li><a href="#">文章</a></li>

            </ul>
            <ul class="nav navbar-nav navbar-right">

                {% if request.user.is_authenticated %}
                    <li><a href="#"><i class="glyphicon glyphicon-user"></i> {{ request.user.username }}</a></li>
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
                           aria-expanded="false">Dropdown <span class="caret"></span></a>
                        <ul class="dropdown-menu">
                            <li><a href="#">修改密码</a></li>
                            <li><a href="#">修改头像</a></li>
                            <li><a href="/logout/">注销</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">Separated link</a></li>
                            <li role="separator" class="divider"></li>
                            <li><a href="#">One more separated link</a></li>
                        </ul>
                    </li>
                {% else %}
                    <li><a href="/login/">登录</a></li>
                    <li><a href="/register/">注册</a></li>
                {% endif %}


            </ul>
        </div><!-- /.navbar-collapse -->
    </div><!-- /.container-fluid -->
</nav>

<div class="container-fluid">
    <div class="row">
        <div class="col-md-3">
            <div class="panel panel-warning">
                <div class="panel-heading">Panel heading without title</div>
                <div class="panel-body">
                    Panel content
                </div>
            </div>
            <div class="panel panel-info">
                <div class="panel-heading">Panel heading without title</div>
                <div class="panel-body">
                    Panel content
                </div>
            </div>
            <div class="panel panel-danger">
                <div class="panel-heading">Panel heading without title</div>
                <div class="panel-body">
                    Panel content
                </div>
            </div>
        </div>
        <div class="col-md-6">222</div>
        <div class="col-md-3">
            <div class="panel panel-primary">
                <div class="panel-heading">Panel heading without title</div>
                <div class="panel-body">
                    Panel content
                </div>
            </div>
            <div class="panel panel-default">
                <div class="panel-heading">Panel heading without title</div>
                <div class="panel-body">
                    Panel content
                </div>
            </div>
        </div>
    </div>
</div>

</body>
</html>
views.py
from django.shortcuts import render, HttpResponse, redirect
from django.http import JsonResponse
from django.contrib import auth

from blog.utils.validCode import get_valid_code_img
from blog.my_forms import UserForm
from blog import models


def get_validCode_img(request):
    data = get_valid_code_img(request)
    return HttpResponse(data)


def login(request):
    if request.method == "POST":
        response = {'user': None, 'msg': None}

        user = request.POST.get('user')
        pwd = request.POST.get('pwd')
        valid_code = request.POST.get('valid_code')
        valid_code_str = request.session.get("valid_code_str", '')

        if not valid_code.upper() == valid_code_str.upper():
            response['msg'] = "valid code error!"
            return JsonResponse(response)

        user = auth.authenticate(username=user, password=pwd)
        if not user:
            response['msg'] = "username or password error!"
            return JsonResponse(response)

        auth.login(request, user)  # request.user == 当前登录对象
        response['user'] = user.username

        return JsonResponse(response)  # 使用JsonResponse返回的数据,前端直接可以使用。

    return render(request, 'login.html')


def logout(request):
    auth.logout(request)  # request.session.flush()
    return redirect('/login/')


def index(request):
    return render(request, 'index.html')


def register(request):
    if request.is_ajax():
        # print(request.POST)
        form = UserForm(data=request.POST)

        response = {'user': None, 'msg': None}
        if form.is_valid():
            response['user'] = form.cleaned_data.get('user')
            # 生成一条记录
            user = form.cleaned_data.get("user")
            pwd = form.cleaned_data.get("pwd")
            email = form.cleaned_data.get("email")
            avatar_obj = request.FILES.get("avatar")

            extra = {}
            if avatar_obj:
                extra["avatar"] = avatar_obj
            models.UserInfo.objects.create_user(username=user, password=pwd, email=email, **extra)
        else:
            # print(form.cleaned_data)
            # print(form.errors)
            response['msg'] = form.errors

        return JsonResponse(response)

    form = UserForm()

    return render(request, 'register.html', {'form': form})

标签:index,form,get,bootstrap,request,valid,user,response,页面
From: https://www.cnblogs.com/it-lkp/p/16595464.html

相关文章