一步一步的django学习---001

今天刚开始接触django,说实话,对于我这个连python都不愿意去学的懒人,能主动去学习django,这真的是太阳打西边出来了。但是,什么事情都是有原因的,要不是形式所逼,打死我也不会学习django这种反人类的东西的(我的一个朋友说的)。说实话,我还是喜欢java,打死我也喜欢java.既然开始了django的学习,那就像点样子好了。

首先,我们不得不先了解下什么是django?

在百度上是这么解释的:Django是一个开放源代码的web应用框架,由Python写成。采用了MVC框架模式。模型,视图,控制器。它最初是用来开发来用于管理劳伦斯集团旗下的新闻网站的,即是内容管理系统软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。

核心组件有:

1.用于创建模型的对象关系映射(老实说,我什么也不懂,但是模型,是一个比较关键的东西)

2.为最终用户设计的完美管理页面(大概能够轻松的编写html页面)

3一流的URL设计(无非是URL可以控制自如,虽然想起来,javaee里面的web文件确实有一些些复杂)

4.设计友好的模板语言(模板语言,在我开始接触的时候大概了解的一点点)

架构设计

Django是一个基于MVC构造的框架。但是在Django中,控制器接受用户输入的部分由框架自行处理,所以django更关注的是模型,模板,视图。可以被称为MTV模式。各自职责如下:

                           层次    职责
模型层(M),即是数据存取层                          处理数据有关的事务:存取数据,验证有效性,包含哪些行为(增删改查)以及数据间的关系等                                  
模板(T),业务逻辑层 处理与表现相关的决定;如何在页面或其他类型文档中显示
视图(v),表现层 存取模型及调取恰当的逻辑关系。模型和模板的桥梁。

 

工作机制:(在Django文件编写完成之后,页面的执行机制)

1.用cmd 中python  manage.py runserver启动Django服务器时就载入了在统一目录下的settings.py。该文件包含了项目中的配置信息,如URL等,其中最重要的是ROOT_URLCONF,它告诉Django哪个Python模块应该启用URLConf,默认是urls.py.

2.当访问url的时候,Django会根据ROOT_URLCONF设置来装载URLConf.

3.然后按顺序逐个匹配URLConf里的URLpatterns.如果找到,则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)。

4.最后改view函数负责返回一个HttpResponse对象。

好了,django的初步样子,我们有了一点点的认识,不管他是何方神圣,也不管他是牛鬼蛇神,只有开始了,我们才能真正克服它,最后再强调一次,虽然它是一个反人类的东西,但是功能还是很强大的。

 

001.1:安装django

在安装好python,并且配置好环境之后,在cmd下输入:pip install django即可安装成功。

001.2:新建django工程

在安装好django之后,在cmd上,指定一个文件夹,输入:django-admin startproject XXX(为项目文件名)(特别注意django和admin之间的横杠是英文中间横杆,不是下横杆)

001.3:编辑项目

简单的项目:

  1.在创建的项目文件夹下,有一个和项目同名的文件夹,点开,新建我们的核心部件view.py

  内容:from django.http import HttpResponse

            def hello(request):

                  return HttpResponse("helloWorld")

 2.修改urls.py的内容,删除原来全部内容,添加一下内容

from django.conf.urls import url

from . import view

urlpatterns=[url('/',view.hello)]

001.4:运行简单的项目

打开cmd 进入项目文件中manage.py所在目录,输入python manage.py runserver;

001.5查看结果

打开浏览器,输入http://127.0.0.1:8000

结果是:helloWorld。

这个简单的例子,我们再回顾上面的工作机制,就会豁然开朗了。也就是说,urls.py感觉有点相当于程序的主函数,是入口,又控制流程。具体还不知道,后面继续学习深入了会更了解的。

知识点1:在urlpattern=后的url()函数;

url(regex,view[,kwargs],[name])函数:可以接收四个参数:

regex:与之匹配的url会执行后面的view函数

view:执行请求

kwargs:使用字典类型的参数

name:用来反向获取当前url。

 

posted on 2018-08-27 23:21  顾河建  阅读(551)  评论(0编辑  收藏  举报

导航