Django框架初步学习

一、Django简介

    Django是一个开放源代码的Web应用框架,由Python写成。诞生于新闻网站的环境中,非常擅长于动态内容管理系统,采用了MTV的框架模式(M:Model,T:Template,V:View)。使用Django能够以最小的代价构建和维护高质量的Web应用。

    安装Django之前要先确保有Python的开发环境,同时注意安装的Django版本能够被已经安装的Python版本所支持。至于具体的安装内容以及如何创建项目,网上有一大堆的资料可以参考。

二、Django项目文件介绍

    Django的基本目录如下。其中HelloWorld为project的配置文件,MyApp为用户创建的一个APP应用程序。manage.py是一个使用的命令行工具,让你可以与Django项目进行交互,一般我们不用管这个。

1. 项目配置文件

项目的配置文件总共有4个。

__init__.py是一个空文件,告诉 Python 该目录是一个 Python 包。(不可以删除)

wsgi.py是一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

settings.py是该项目的配置信息。

urls.py是该项目的URL声明,将URL指向特定的视图。

HelloWorld
    MyApp
        __init__.py
        admin.py
        models.py
        tests.py
        views.py
    HelloWorld
        __init__.py
        settings.py
        urls.py
        wsgi.py
    manage.py

2. App应用文件

    MyApp是用户创建的一个APP应用。如果不使用APP的话,我们也可以在网页上显示出一个页面,但功能可能就没有那么多。一个项目可以拥有多个App。views.py文件里面定义了不同的视图函数。models.py是Django的模型,主要是用于数据库的处理(Django中,使用Model必须在App中使用)。admin.py是后台管理员,用户直接操作数据库的。

    一般来说,我们在前面的文件夹下对项目进行配置,然后在App中构建模型和视图,实现Web应用的主要功能。

三、Django的工作原理

    之前我在学习Django的时候,一直不太清楚当我们在浏览器上输入链接来访问我们想要的界面之后,Django在后台是怎么工作的,先在这里做个介绍。我认为在学习Django的详细编程之前,介绍其后台的工作过程是很有必要的。而在网上这方面的介绍很少(可能是我没找对地方)。至于Django的一些详细使用,就暂时不做介绍了。

    首先,我们使用python manage.py runserver(这个命令用户启动服务器,后面可以指定服务器监听的端口号,默认是8000)启动服务器监听某个端口。在浏览器上输入"http://127.0.0.1:8080/index"来访问我们网站的主界面。平时,我们在浏览器访问其他网站的时候,其默认端口是80,一般不用写,当网站的端口不是80的时候,我们就必须制定端口号。

    当我们的服务器监听到有访问请求的时候,会查找setting.py(之前说过,该文件包含了项目的配置信息,比如加载了哪些模块,使用了哪些App应用),通过其中的ROOT_URLCONF配置来访问url的处理文件。一般该项指向"urls.py"文件。

ROOT_URLCONF = 'HelloWorld.urls'

    在urls.py中,有一个最主要的urlpatterns变量,我们删掉注释和一些无关紧要的信息之后,可以看到如下代码,Django通过我们输入的url与urlpatterns变量里面的url元组来确定显示哪一个视图(view)。url中,前面第一个元素是模式匹配字符串(采用正则表达式),用来匹配我们输入的链接,第二个元素表示该模式使用的视图函数(定义在Views中)。Django会从头匹配到尾直至匹配到相符合的元组,然后执行相对应的视图函数。

urlpatterns = [
    url(r'^$', MyApp.views.home, name='home'),
    url(r'^index$', MyApp.views.home, name='home'),
]

    一般来说,视图函数定义在Views.py里面。一个Views.py文件会定义有多个的视图函数(视图函数其本质上就是一个函数)。Django匹配到正确的元组之后(会将HttpRequest对象作为第一个参数),会查找元组里面视图函数所在的文件,然后找到相对应的视图函数,执行该函数(函数返回HttpResponse对象)。

    最后Django转化该对象,使其在浏览器上面显示。

    




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值