在前面的文章中,如果操作无误,那么Django已经能正常运行了,那么接下来要做的事情就是让Django能够正常访问,这里我们要说到Django的文件结构。
和我之前用的基于PHP的CMS有一些不同:
基于PHP的CMS一般都有固定的表结构,使用者不涉及到底层开发,但是这种类型的程序,如果想有一些修改,是比较困难的。基于PHP的CMS简单易用,但是不利于定制化。
PHP的程序 复制程序文件,和数据库 放在哪里都可以运行,但是Django是基于Python的,有的时候,除了Django以外,还需要装上一些类库,你放在别的地方 未必可以使用。
总的来说在整个学习过程当中,我觉得Django要比一般的基于PHP的CMS上手难度要大,但是上手之后的可操作性要强很多。
如下,是我建立一个名为keywords_website的项目,应用名为keywords的应用的目录结构:
└── keywords_website
├── db.sqlite3
├── keywords
│ ├── admin.py
│ ├── __init__.py
│ ├── migrations
│ │ ├── 0001_initial.py
│ │ ├── __init__.py
│ │ └── __pycache__
│ │ ├── 0001_initial.cpython-35.pyc
│ │ └── __init__.cpython-35.pyc
│ ├── models.py
│ ├── __pycache__
│ │ ├── admin.cpython-35.pyc
│ │ ├── __init__.cpython-35.pyc
│ │ ├── models.cpython-35.pyc
│ │ ├── urls.cpython-35.pyc
│ │ └── views.cpython-35.pyc
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── keywords_website
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-35.pyc
│ │ ├── settings.cpython-35.pyc
│ │ ├── urls.cpython-35.pyc
│ │ └── wsgi.cpython-35.pyc
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
└── templates
└── keywords
└── index.html
Templates:
这个是模板目录,用于用类似的页面展示数据库中的内容。
Keywords_website:
这个是项目的目录,用于设置项目的一些参数,比如settings.py可以用于设置allow_host,可以注册app,可以增加主题目录。
在Django的逻辑当中,一个项目由多个不同的应用组成。每个应用完成独立的功能。
在项目目录当中,urls是配置显示的地址的,就是用户输入某些地址,分别匹配到哪个目录。
Keywords:
这个是应用的目录,在应用的目录当中,admin用于用户管理,密码等操作。
Models用于操作数据库,模型类用于实现功能。
Urls用于配置用户的访问地址,需要注意的是,需要在项目目录当中的urls中配置才可以在这里使用。
Views用于配置用户访问的地址对应访问的内容。
简单点来说,models实现功能,views调用这些功能,根据urls对应的返回给用户,可能会调用到模板目录,就是这样,Django的MVC框架或者说MVT框架就是这样。