Django的Project和App的区别
Django是一个非常流行的用python编写的Web框架,在使用Django之前,我们需要了解一些基本的概念,这样可以在使用Django的时候对其有一个更加深入的把握。本文主要介绍Django中两个非常基础但又是很多初学者不太明白的概念:project和app.
Project
其实在计算机领域,要真正了解一个东西,莫过于亲自去阅读它的源代码;同理,对于Django中的project和app,我们也可以采用类似的方法。我们可以通过命令:
django-admin.py startproject mysite
来创建一个新的project,之后我们可以在当前目录下看到如下目录结构:
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py
其中manage.py是在开发web项目时经常用到的工具,如:python manage.py runserver localhost:8000 ; python manage.py syndb 等等,而在内部的mysite目录下放着四个py文件,其中__init__.py用于说明内部的mysite目录是一个python模块,打开settings.py文件,我们可以看到一些基本的配置信息,包括数据库配置,时区,安装的APP,中间件,日志配置,以及一些基本的目录配置等,其本质上相当于一个基本的web工程的全局配置。urls.py文件中包含一个urlpatterns变量,其实它就是一个URL Dispacher(URL分派器),用于在URL和实际的view之间建立一个映射。
App
在创建完project之后,我们可以通过命令:python manage.py startapp polls创建一个名叫polls的app,然后整个目录结构变成如下所示:
mysite/ manage.py mysite/ __init__.py settings.py urls.py wsgi.py polls/ __init__.py models.py views.py test.py
很显然,上述红色部分是多出来的,即运行上述命令后做的一些事情, 其中 __init__.py用于说明polls目录是一个python模块,models.py中包含一系列的模型类,每个模型类对应数据库中的一个表,这之间的映射由Django来做,有关数据库的配置在mysite/settings.py中。而views.py中包含的是对各个请求的处理逻辑,前面说的URL Dispacher即将URL请求映射到这个文件中的函数或类方法上。同时可以在polls目录下创建template目录,然后将前台的html,css,script等内容放置在这个目录下,并在setttings.py文件添加相应的配置信息。所以,我们其实可以看到APP相当于一个相对独立的功能模块,其遵循的设计理念是MVT(类似MVC);在一个大型的Project中,可以包含很多APP,而且每个APP可以在不同的Project中复用,这也符合Django的编程理念,即:不要做重复的事情。
综上所述,project和APP的区别已经很明显了,project包含一些全局配置,这些配置构成一个全局的运行平台,各个APP都运行在这个全局的运行平台上,而APP代表的是一个相对独立的功能模块,所以程序的逻辑都在APP中。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2019最细腻的python入门学习图,你难道不想了解一下吗?
前言 最近python火爆程度可谓是顶级流量语言,认识它的人也越来越多,当然学习的人也是蒸蒸日上,隐隐有第一语言的噱头,学的人多了,小白自然也很多,你们在学习的过程中总会遇到一些烦恼,不知道从何学起,都希望能够得到一份python学习路线图。 对于一些0基础的想要学习python的人来说,学习方法非常重要,学习方法不对,努力也白费,所以我们需要有一个正确的学习方法。 Python学习路线一:Python基础 必学知识:【Linux基础】【Python基础语法】【Python字符串】【文件操作】【异常处理】【Python面向对象】【项目实战】 路线讲解:该路线循序渐进,科学合理,帮助学习者建立正确的编程思想,具备基本的编程能力; Python学习路线二:Python高级编程 必学知识:**【Python平台迁移Linux】【Python常用第三方库】【Python高级语法】【Python正则表达式】【网路编程】【系统编程】【数据结构与算法】【项目实战】** 路线讲解:该路线强调数据结构和算法的学习,着重提升学习者的编程核心能力;使学习者能够熟练掌握Python高级用法及网络相关知识,能够...
- 下一篇
想不想锁住别人的电脑?运用python成为黑客 !
前言一个可以套路别人的python小程序,该程序是用Python语言使用pycharm工具编写的。该程序由客户端组成。程序包括客户端 client.py 和服务器端 server.py 两部分,利用了python中的socket包。 使用方法:首先,你需要你和你的朋友在同一个局域网内,然后在你的主机上,运行服务器端 server.py。 然后,让你的朋友在他的电脑上运行客户端 client.py。 此时你朋友电脑的windows用户密码,就会变成一个随机密码,且这个生成的随机密码他本人无法得知,而是把这个密码通过socket传给了服务器端的你。 嗯,然后你朋友的电脑密码就只有你自己知道了~ 学习从来不是一个人的事,大家互相监督,共同交流,需要资料的可以私信加我
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS关闭SELinux安全模块
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Docker安装Oracle12C,快速搭建Oracle学习环境