这次我们来看看Django的基本用法

我们首先来分辨一下Django中的两个名词的不同:project与app

app与project的区别:

  • 一个app实现某个功能,比如博客、公共档案数据库或者简单的投票系统;
  • 一个project是配置文件和多个app的集合,他们组合成整个站点;
  • 一个project可以包含多个app;
  • 一个app可以属于多个project!

app的存放位置可以是任何地点,但是通常我们将它们都放在与manage.py同级目录下,这样方便导入文件。

当我们创建好一个Django项目后它的文件格式是这样的:

mysite
├── manage.py
└── mysite
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

详细解释:

  • 外层的mysite/目录与Django无关,只是你项目的容器,可以任意命名。
  • manage.py:一个命令行工具,用于与Django进行不同方式的交互脚本,非常重要!
  • 内层的mysite/目录是真正的项目文件包裹目录,它的名字是你引用内部文件的包名,例如:mysite.urls。
  • mysite/init.py:一个定义包的空文件。
  • mysite/settings.py:项目的主配置文件,非常重要!
  • mysite/urls.py:路由文件,所有的任务都是从这里开始分配,相当于Django驱动站点的内容表格,非常重要!
  • mysite/wsgi.py:一个基于WSGI的web服务器进入点,提供底层的网络通信功能,通常不用关心。

首先我们来建立一个app :python manage.py startapp + (app名)

比如我建立了一个名叫learn的app,那么它的文件结构是这样的:

learn/
├── __init__.py
├── admin.py
├── models.py
├── tests.py
└── views.py
当我们建立好一个app后我们需要将这个app放入项目的settings.py中
INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'learn',
)
新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)
然后我们来了解下这个app中部分文件的作用:views.py文件中显示的是我们访问页面时的内容
                       test.py文件是我们用来测试时使用的
                       admin.py文件代表着管理,Django自带后台管理,所以你无须自行编写后台管理模块。
                       model.py文件代表着模型,表示数据管理的地方。(扩展:django可以看成一个MVC架构)
                                                                    _init_.py文件是用来初始化我们app时用到的