大后天就开学了,今天Django的学习总结一下
2019-08-20 15:58
1011 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44449518/article/details/99838934
Django学习(2019 / 8 / 20)
今天呢,简单学习了几个关于Django的知识,也算是正式学习Django的第二天了吧,感觉还可以,也可能是我这个 小白 临死前的挣扎吧。
今天呢,也收到一个不好的消息:说好的27号之前到校,结果23号就要开学了,马上就要步入大二学哥的行列了,有点激动,不知道遇见小学弟小学妹以后,他们会不会叫我学哥呢。不扯了,说今天的正事:
在今天捣鼓Django期间呢,干了点别的事,把 Virtual Box虚拟机中的 Ubantu转移了一下存放路径,并且把Ubantu虚拟机打了个压缩包,备了个分。备份的最初目的呢,就是害怕以后某一天,我的电脑硬盘 OVER 了,我的学习成果不都挂了吗,So,今天上午干了这么个事,把Ubantu虚拟机整个存放目录里面所有文件都打了个压缩包
(这里说明一点,之所以把Ubantu虚拟机整个存放路径都打包压缩,是因为不想给自己添乱,因为你如果只打包虚拟硬盘的话,转移到别的电脑上之后,你之前做的虚拟机备份就都没了。当然还有别的办法,知乎上某某大神说的需要对某某文件挨个重新注册的办法,我感觉没有这个来的痛快,把整个目录打包压缩,放到别的电脑上,解压以后直接双击打开就完美地转移了。当然,百度上搜到的自称为某某大神的某某小弟——扯淡的虚拟机转移办法更是相当麻烦)
不扯淡了,下面开始重点:
今天呢,成果吧,挺多的,完成了使用 MVT的一个小小的案例,说实话吧,也就这么点东西,不难,容易。把思路理顺了就好了。
咱先来看一看这个小小的案例:
下面呢,我就陈述一下上面这个图片究竟表达了啥:
首先呢,我们在浏览器里输入127.0.0.1:8000的时候,默认进入主页面(上图四个叠加的浏览器窗口从上往下数第一个),当我们点击主页面上的链接(上图主页面带下划线的蓝色字"点击进入藏书阁")的时候,默认跳转到127.0.0.1:8000/books页面(上图从上往下数第个叠加的浏览器窗口),当我们点击"神雕侠侣"这本书的目录时,跳转到127.0.0.1:8000/books/1页面,此时显示所有英雄人物以及英雄人物所对应的技能。这里,还有最后一个叠加的浏览器窗口,表达的是:当我们点击一本书,没有对应的英雄人物的时候,就出现这个界面。 好吧,我承认,我一个初学小白刚看到这个案例的时候,确实懵了,不知道从哪里下手。实际上呢,通过分析,可以看出来实际上我们只需要完成URL的设计 还有模板的展示就行了。就这两个 任务,没别的了。那咱接下来,就进入主题吧,当然,在代码上来之前,还是需要先进行思路整理的,我会在下面每一段中都把思路理顺了再上效果图:
首先呢,我们需要把Django项目以及应用创建好,配置好相关数据,然后创建管理员账户,把后台页面管理一下
【1】创建一个Django项目
django-admin startproject t1
【2】进入t1目录,创建 应用cd t1然后python3 manage.py startapp a1
【3】我们需要在models.py文件中自定义模型类,自定义完成之后需要迁移文件,然后再生成数据表cd a1然后vim models.py,然后,如下图所示输入相应内容,再然后 保存退出,保存退出VIM之后,接下来就是进行 迁移文件python3 manage.py makemigrations,生成迁移文件之后,就是根据迁移文件生成表python3 manage.py migrate
【4】我们需要进入后台页面,就需要先创建一个用户python3 manage.py createsuperuser(在这之前,还需要修改 settings.py 文件,进行本地化。这里就不多说了,可以看上一我的篇博客的具体操作),然后,我们可以进入后台页面(127.0.0.1:8000/admin),然后进行简单数据的添加。当然,我们这里也可以更改一下后台界面的显示,通过admin.py这个文件中进行设置,设置如下:这里,我们可以自定义显示,list_disply = ['','','']来添加显示的信息。
下面是一张更改显示内容之后的效果图:
项目也创建完了,应用也添加了,管理界面也设置好了,数据也加的差不多了,下面就开始正题
进入正题,跟着我的理解开始一步一步完成任务:
【1】第一步,我们需要建立模板文件夹:在项目根目录下新建一个
templates的目录,然后,在这个目录下在新建一个Boos_Info目录(这是为什么呢,我吧,看人家书上说的,要养成良好的习惯,因为一个项目里面可能放着很多个应用,为了区分不同应用的不同模板文件,需要建立这样一个文件夹),这里呢,刚开始我们不知道要放什么文件,我们就先建好了,等待会用到了,先添加。(这里呢,还有一个地方需要注意:我们需要在setting中把模板的目录添加上,如下图中白色标记处所示),这里借助了os模块的拼接路径,这里BASE_DIR是项目的绝对路径,即无论项目存放在哪里,都可以通过这个来返回项目的绝对路径。
【2】第二步呢,我们需要在 应用中新建一个urls.py的文件,这个文件呢,依我的理解,就是一个向导,当你把URL交给它的时候,他会匹配出你需要的下一步操作是什么,去执行哪一个任务。那么这个文件里到底要写什么东西?第一个,要导入一个模块from django.conf.urls import url,导入完成之后呢,我们需要配置urlurlpatterns[url(r'^XXX$',views.YYY),url(r'^MMM$',views.NNN),],这是URL配置的格式,这里的XXX MMM都是正则表达式,也就是咱二级页面后面的网址,比如说**index / books**,这里的 YYY NNN呢,就是你views这个文件里面自定义的url函数。
这里呢,先这么理解,咱呢,接着往下走,等把整个流程都走完了回来再看,就轻松了。先把刚刚写的最后的效果图放到下面:
【3】我们需要配置原来就存在的 urls.py文件,是的,不是你新建的urls.py,我们接下来配置的是原本就存在的 urls.py 文件。这里呢,我们需要做这样一件事,在原本的urlpatters = [XXX,]的XXX,后面,加上它url(r'^',include('a1.urls')),这里呢,是 当浏览器请求一个网址的时候,Django实际上只保留域名后面的东西,比如说吧,这里我们请求的是127.0.0.1:8000/index,那么实际上Django接收到的有用的就只有 /index。然后呢它会拿着这个/index,先到这个原来就有的urls.py文件中进行正则表达式匹配,这里呢,/index前面的/是不会参与正则表达式匹配的。匹配到url(r'^',include('a1.urls')),之后,会拿着/index再去应用a1下面的urls.py文件中进行匹配,当匹配的 上图中url(r'^index$',views.index)的时候,会到 应用a1的views.py文件下去找index函数,然后根据index函数返回值去模板中拿数据生成页面返回给浏览器。大体流程就这样,我们接着往下走。下面是原来就存在的 urls.py 文件的怕配置信息:
【4】第三步呢,我已经比较详细的描述了整个流程,我们现在,去views.py中自定义url函数。下面是效果图。这里呢,实际上,这里我们完成了两个任务:通过模型类,把数据取出来,再通过 模板文件生成一个完整的Html页面返回给浏览器。,这里简单描述一下,我们与M T进行交互,实际上需要三个过程(加载模板文件/定义模板上下文/模板渲染),这三步分别是返回模板对象,然后给模板传递数据,最后整合内容生成html文件。只不过呢,这里Django的 render函数已经帮我们完成了,并且为了方便使用,都封装在了一起。所以我们这里,只需要给render传入三个参数:request / 模板文件所在的目录 / 一个字典类型的数据(里面存放着需要传给模板的参数)
【5】接下来,就是去配置我们的模板文件,我们的模板文件都是Html文件,我们可以在模板文件里写入代码执行,只不过这些代码都被放在特定的代码块中{{content}},效果图如下: 这里呢,基本上就结束了,我说完了,大体上我只说了一下思路,走了大部分流程。思路也理清楚,实现起来就很简单了。这个小小的可能给大神们连练手都算不上的案例呢,我也是感觉挺简单的,对于我这样的初学者来说呢,掌握起来也并不吃力,做一遍这个小案例,基本上就都通顺了。
相关文章推荐
- 今天初步学习了一下Git版本控制,总结一下,后面加下用Git下载android源代码
- 今天开始写一下学习java中级每一天的知识点总结
- 今天初步学习了一下Git版本控制,总结一下,后面加下用Git下载android源代码
- 感觉今天一天没做什么事情啊QAQ,学习了一下java的基本语法,编写了几个小程序,还是总结一下吧
- 今天来总结一下在学习java一些重要内容(基本)
- 总结一下这几天学习django的心得
- 今天总结了一下最近学习alsa驱动的收获,
- 今天初步学习了一下Git版本控制,总结一下,后面加下用Git下载android源代码
- 今天开始每天写点技术博客 总结一下每个阶段的学习
- 总结一下这几天学习django的心得
- Django学习总结之六-站点管理
- django 学习个人总结 之创建表,添加数据
- 今天起,用博客记录学习和总结,尝试写作,提高自己,加油!
- 四年IT'TIME已过,实习、试用、流走、独立项目、参与创业都经历了,可以总结一下了,重燃学习深造的动力!
- 今天的一个面试题,总结一下
- 总结下今天学习,也晒晒我的钢琴程序。
- gwt 学习总结一下。
- 今天参加了一个面试,总结一下几道题
- 2011.7.20-总结一下近来学习过程中的波折
- 今天的学习笔记以及月总结