点滴技术

Django之用户管理系统CBV-全新升级(5)

2021-08-15  本文已影响0人  点滴技术

时间过的真快,又接近4个月没更新文章了,不是我闲着,家里事情是真多,时间都给了溜娃还是溜娃,剩余点时间就学习Django的知识,为了打磨好这一篇文章,可费了九牛二虎之力,完成该篇文章。

为了各位读者有较好的UI视觉、有动力去学习和摸索,前端可投入不少时间。毕竟作为一名网工,去搞前端,那还真不是一件容易的事情,你想,Django这个后端知识体系已经够学一阵一阵子的了。

前端有啥学习?HTML、javascrip、jQuery、ajAX、Vue...

后端有啥学习?Django就够了...

前方高能,请看如下效果图...


1.0 效果展示

说明:提前贴出这些图,希望各位看了有动力去学习。虽然django有自带一套用户系统,但是人的审美总是要有的哈,又可以提升下自己的代码水平.

1.1 基础配置

说明:有一些共性的东西,我就提前在这个章节写出来。

# mysite/settings.py

INSTALLED_APPS = [
  # 新建的app,注册一下
    'users',  
]

# 定义存放js/cs/img的文件路径
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    (BASE_DIR / 'static'),
)
# 全局声明,使用UserProfile
# 默认是: AUTH_USER_MODEL = 'auth.User'
AUTH_USER_MODEL = 'users.UserProfile'

# 数据库mysql参数配置, 内置有sqlite。
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django_db',
        'HOST': '192.168.8.130',
        'USER': '<数据库用户名>',
        'PASSWORD': '<数据库密码>,
        'PORT': 3306,
    }
}
<!-- mysite/templates/base1.html -->

<!DOCTYPE html>
{% load  static %}
<html lang="en">
    
<head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta name="description" content="">
        <meta name="author" content="">
        <!-- 页面标签 -->
        <title>
            {% block title %}自动化运维平台{% endblock %}
        </title>

        <!-- 加载CSS样式 -->
        <!-- Bootstrap core CSS -->
        <link href="{% static "css/bootstrap.min.css" %}" rel="stylesheet">
        <link href="{% static "css/bootstrap-reset.css" %}" rel="stylesheet">

        <!--Animation css-->
        <link href="{% static "css/animate.css" %}" rel="stylesheet">

        <!--Icon-fonts css-->
        <link href="{% static "assets/font-awesome/css/font-awesome.css" %}" rel="stylesheet" />
        <link href="{% static "assets/ionicon/css/ionicons.min.css" %}" rel="stylesheet" />

        <!--Morris Chart CSS -->
        <link rel="stylesheet" href="{% static "assets/morris/morris.css" %}">

        <!-- Custom styles for this template -->
        <link href="{% static "css/style.css"  %}" rel="stylesheet">
        <link href="{% static "css/helper.css" %}" rel="stylesheet">

        <!-- Plugin Css-->
        <link rel="stylesheet" href="{% static "assets/magnific-popup/magnific-popup.css"%}" />
        <link rel="stylesheet" href="{% static "assets/jquery-datatables-editable/datatables.css"%}" />

        <!-- Custom styles for this template -->
        <link rel="stylesheet" href="{% static "css/style.css" %}">
        <link rel="stylesheet" href="{% static "css/helper.css" %}">

        {% block css %}{% endblock %}
</head>

    <body>
        <!-- Aside Start-->
        <aside class="left-panel">
            <!-- brand -->
            <div class="logo">
                <a href="{% url 'index' %}" class="logo-expanded">
                    <i class="ion-social-buffer"></i>
                    <span class="nav-label">自动化运维平台</span>
                </a>
            </div><!-- / brand -->

            <!-- Navbar Start 导航栏 -->
            <nav class="navigation">
                <ul class="list-unstyled">
                    <li class="active"><a href="#"><i class="ion-home"></i> <span class="nav-label">仪表盘</span></a></li>
                    <li class="has-submenu"><a href="#"><i class="ion-android-social-user"></i> <span class="nav-label">用户权限管理</span></a>
                <ul class="list-unstyled">
                    <li class="users"><a href="{% url 'users:userlist' %}">用户管理</a></li>
                    <li class="roles"><a href="#">角色管理</a></li>
                    <li class="permissions"><a href="#">权限管理</a></li>
                </ul>
                    </li>
                </ul>
            </nav><!-- Navbar Ends -->
        </aside><!-- Aside Ends-->

        <!--Main Content Start -->
        <section class="content">
            
            <!-- Header -->
            <header class="top-head container-fluid">
                <!-- 左上角收缩 导航栏 -->
                <button type="button" class="navbar-toggle pull-left">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

                <nav class=" navbar-default" role="navigation">
                    <!-- Right navbar -->
                    <ul class="nav navbar-nav navbar-right top-menu top-right-menu">
                        <!-- user login dropdown start-->
                        <li class="dropdown text-center">
                            <a data-toggle="dropdown" class="dropdown-toggle" href="#">
                                <img alt="" src="{% static "img/avatar-2.jpg" %}" class="img-circle profile-img thumb-sm">
                                <span class="username"> admin </span> <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu pro-menu fadeInUp animated" tabindex="5003" style="overflow: hidden; outline: none;">
                                <li><a href="#"><i class="fa fa-edit"></i> 修改密码</a></li>
                                <li><a href="#"><i class="fa fa-sign-out"></i> 退出 </a></li>
                            </ul>
                        </li>
                        <!-- user login dropdown end -->       
                    </ul>
                    <!-- End right navbar -->
                </nav>
                
            </header>
            <!-- Header Ends -->
            <!-- 以上就是每一个页面共用的部分,即母版 -->

            <!-- Page Content Start -->
            <!-- ================== -->
            <!-- 以下就是每一个页面自定义内容的部分 -->
            <div class="wraper container-fluid">
                <div class="page-title"> 
                    <h3 class="title"> {% block page-title %} {% endblock %} </h3>
                </div>

                {% block page-content %} {% endblock %}

            </div>
            <!-- Page Content Ends -->
            <!-- ================== -->

            <!-- 页脚 Footer Start -->
            <footer class="footer">
              2021©自动化运维平台
            </footer>
            <!-- 页脚 Footer Ends -->

        </section>
        <!-- Main Content Ends -->
        <script src="{% static 'js/jquery.js' %}"></script>
        <script src="{% static 'js/bootstrap.min.js' %}"></script>
        <script src="{% static 'js/wow.min.js' %}"></script>
        <script src="{% static 'js/pace.min.js' %}"></script>
        <!--控制菜单栏点击显示子菜单-->
        <script src="{% static 'js/jquery.app.js' %}"></script>
        <!--子菜单点击时,不收缩-->
        <script src="{% static 'js/jquery.nicescroll.js' %}" ></script>

        {% block js %}{% endblock %}

    </body>
</html>

1.2 用户添加

说明:用户添加的表单使用forms的ModelForm,可以依赖model, 视图则使用generic(通用视图)的CreateView.

1.3 用户查看

1.4 用户更新

1.5 用户删除

总结:终于码完这篇文章了,虽然看起来就4个项目:用户的增删改查,其实一点都不容易,五味杂陈啊。我还是把CBV里的CreateViewListViewUpadteViewDeleteView都一一对应起来了,其实方法还是有很多种的。

现在用户管理差不多就这样了,各位还可以持续去优化,做的更好,那么用户登陆认证怎么实现呢?待我去码下一篇文章...敬请期待!

如果喜欢的我的文章,欢迎关注我的公号:点滴技术,扫码关注,不定期分享

上一篇 下一篇

猜你喜欢

热点阅读