1.查看已安装的Django版本
$ python -c "import django;print(django.get_version())"
2.创建一个项目
$ django-admin startproject testproject
注意:项目名称不能和Python或Django的 内部组件名称同名,例如:django(与Django自身冲突)或 test(与Python内建的包冲突)这样的名称。
创建完成后会在当前目录下生成一个名为testproject的文件夹,文件夹中含有以下文件:
$ cd testproject/
$ ls -la
total 8
drwxr-xr-x 4 chenqianqian staff 136 4 17 17:24 .
drwxr-xr-x+ 41 chenqianqian staff 1394 4 17 17:24 ..
-rwxr-xr-x 1 chenqianqian staff 809 4 17 17:24 manage.py
drwxr-xr-x 6 chenqianqian staff 204 4 17 17:24 testproject
$ cd testproject/
$ ls -la
total 24
drwxr-xr-x 6 chenqianqian staff 204 4 17 17:24 .
drwxr-xr-x 4 chenqianqian staff 136 4 17 17:24 ..
-rw-r--r-- 1 chenqianqian staff 0 4 17 17:24 __init__.py
-rw-r--r-- 1 chenqianqian staff 3111 4 17 17:24 settings.py
-rw-r--r-- 1 chenqianqian staff 768 4 17 17:24 urls.py
-rw-r--r-- 1 chenqianqian staff 400 4 17 17:24 wsgi.py
- 外层的testproject/根目录仅仅是项目的一个容器。它的命名对Django没有什么影响。
- manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互。
- 内层的testproject/目录是你的项目的真正的Python包。它是你导入任何东西时将需要使用的Python包的名字(例如 testproject.urls)。
- testproject/__init__.py:一个空文件,它告诉Python这个目录应该被看做一个Python包。
- testproject/settings.py:该Django 项目的设置/配置。Django 设置 将告诉你这些设置如何工作。
- testproject/urls.py:该Django项目的URL声明;你的Django站点的“目录”。
- testproject/wsgi.py:用于你的项目的与WSGI兼容的Web服务器入口。
3.数据库的设置
# Database
# https://docs.djangoproject.com/en/1.10/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
#-----------------------------------------------------------------------------------------------------------------------------------
4.settings.py文件中其他参数配置
# Application definition
INSTALLED_APPS = [
'django.contrib.admin', --管理站点
'django.contrib.auth', --认证系统
'django.contrib.contenttypes', --用于内容类型的框架
'django.contrib.sessions', --会话框架
'django.contrib.messages', --消息框架
'django.contrib.staticfiles', --管理静态文件的框架
]
它保存这个Django实例中激活的所有的Django应用的名字。 应用可以在多个项目中使用,而且你可以将这些应用打包和分发给其他人在他们的项目中使用。以上都是默认自带的应用。
#语言设置
LANGUAGE_CODE = 'en-us'
#时区设置
TIME_ZONE = 'UTC'
4.创建数据库表
$ python managed.py migrate
migrate查看INSTALLED_APPS设置并根据testproject/settings.py文件中的数据库设置创建任何必要的数据库表,数据库的迁移还会跟踪应用的变化。你会看到对每次迁移有一条信息。如果你有兴趣,可以运行你的数据库的命令行客户端并输入dt (PostgreSQL), SHOW TABLES; (MySQL)或.schema (SQLite)来显示Django创建的表。
以上包含的默认应用用于常见的场景,但并不是每个人都需要它们。 如果你不需要它们中的任何一个或所有应用,可以在运行migrate之前从INSTALLED_APPS中自由地注释或删除相应的行。migrate命令将只为INSTALLED_APPS中的应用运行数据库的迁移。
4.试运行Django项目
$ python manage.py runserver
输出内容:
Performing system checks...
System check identified no issues (0 silenced).
April 17, 2017 - 09:35:05
Django version 1.10.5, using settings 'testproject.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
这表明你已经启动了Django开发服务器,一个用纯Python写的轻量级Web服务器。
请用你的浏览器访问 http://127.0.0.1:8000/。
默认情况下,runserver命令在内部IP的8000端口启动开发服务器。
如果你需改变服务器的端口,把要使用的端口作为一个命令行参数传递给它。 例如,这个命令在8080端口启动服务器:
$python manage.py runserver 8080
如果你需改变服务器的IP地址,把IP地址和端口号放到一起。 因此若要监听所有的外网IP,请使用(如果你想在另外一台电脑上展示你的工作,会非常有用):
$ python manage.py runserver 0.0.0.0:8000
这样我们就搭建好了一个名为testproject的项目环境。项目是一个特定网站中相关配置和应用的集合。一个项目可以包含多个应用。一个应用可以运用到多个项目中去。