美文网首页
CMDB-V1.0记录

CMDB-V1.0记录

作者: 天夭夭 | 来源:发表于2018-04-30 15:08 被阅读0次

    初接触开发的还是挺懵的,更别说Django框架了。

    pyton的话是已经学了一个多月了,熟悉了基本的操作,不过还是习惯与Shell的过程式编程。学习的话是看了马哥的视频,每集20分钟还是挺快的,差不多有45集。

    马哥教育看了KK的学习视频(Django)才恶补了一下。


    CMDB到20180430就已经完成我规划中第一个版本的开发了。虽然有点粗糙,但功能还是都实现了。如下图。

    主页

    开发学习记录:

    Django的MTV

        M模型Model:进行业务逻辑判断和数据存取

        T模板Template:将数据展示给用户

        V视图View:将用户请求数据传递给Model,将Model返回的数据传递给Template

        URLS:用于配置url和view处理对应关系(注:url都使用 "/" 结尾配置)

    ORM模型:

        对象关系映射(Object Relational Mapping,简称ORM),官方定义执行百度。

        自己的理解:一种映射技术,如使用MySQL时,将一个类与一张表先建立映射关系,在面向对象开发过程中,直接通过操作类,来对数据进行处理,而不需要去写SQL语句。其特点为:使用简单、便于理解、准确操作。

        建立映射关系,没特定的要求,可以从程序中新建类映射到数据库中,在数据库上将会创建一张表。也可以将对已有的表映射到程序上,并生成一个类。

        数据迁移(建立映射关系):程序类----映射---->数据库    python manage.py migrate

                                                      数据库----映射---->程序类    python manage.py inspectdb > app/models.py

        迁移前提:在代码中已配置好了连接数据库信息。

        ORM操作参考资料:https://www.cnblogs.com/fortunate/p/7109345.html

                                          https://blog.csdn.net/fgf00/article/details/53678205

    session:

        Session 是 用于保持状态的基于 Web服务器的方法。Session 允许通过将对象存储在 Web服务器的内存中在整个用户会话过程中保持任何对象。其中Session保存在服务端,cookie保存在客户端。

        Django操作session参考资料:https://www.cnblogs.com/kayb/p/7256222.html

                                                        https://blog.csdn.net/chenkfkevin/article/details/73650840

    Elasticsearch:

        Elasticsearch用于存储非关系性数据。(ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。---百度百科),强大之处之于它的搜索能力。

        Python操作Elasticsearch 参考资料:

                https://blog.csdn.net/JunFeng666/article/details/78251788

                https://blog.csdn.net/YHYR_YCY/article/details/78882011

                https://blog.csdn.net/y472360651/article/details/76652021

    常用代码段:

        #检查session是否有效,无效则需重新登录

        def session_check(request):

            try:

                if request.session['username']:

                return render(request, "cmdb/index.html")

            else:

                return render(request, "login/login.html")

            except KeyError:

                return render(request, "login/login.html")


        #根据前端传来的则返回不同的提示信息

        def user_add_delete(request):

            if request.method =="POST":

                username = request.POST.get('username')

                tty = models.DUser.objects.filter(user=(username))

                try:

                    if tty[0].user :

                        models.DUser.objects.filter(user=(username)).delete()

                        context = {'messages':'删除成功!', 'messages_tagname': username}

                        return render(request, "cmdb/user_delete.html", context)

                    # 用户不存在时会报错

                    except IndexError:

                        context = {'messages':'该用户不存在,删除!', 'messages_tagname': username}

                        return render(request, "cmdb/user_delete.html",context)

    HTML:

    判断 表单 超链接 表格----循环

    更多功能及特性请参考:http://www.w3school.com.cn/html5/index.asp


    后续:

    学习:前端相关技术

    待解决问题:

    1、前端操作行数据时,如果将相关的参数传递給后端。

    2、默认显示的数据按创建时间排序

    3、后端支持分页功能

    相关文章

      网友评论

          本文标题:CMDB-V1.0记录

          本文链接:https://www.haomeiwen.com/subject/fqizlftx.html