初接触开发的还是挺懵的,更别说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、后端支持分页功能
网友评论