CMDB-V1.0记录

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

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

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


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

CMDB-V1.0记录_第1张图片
主页

开发学习记录:

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:

CMDB-V1.0记录_第2张图片
判断
CMDB-V1.0记录_第3张图片
表单
超链接
CMDB-V1.0记录_第4张图片
表格----循环

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



后续:

学习:前端相关技术

待解决问题:

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

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

3、后端支持分页功能

你可能感兴趣的:(CMDB-V1.0记录)