一、本教程使用的开发环境
本教程使用的开发环境为:Python 版本为 3.6.2 (64 位),Django 版本为 2.2.1。
本教程使用了虚拟环境 Virtualenv。
二、安装 Django
Django 的官方文档对 如何安装 Django 给出了详细且明确的指导,不过我们目前用不上这些,只需使用 pip 命令就可以解决问题。
(env) C:\WINDOWS\system32>pip install django==2.2.1
我们用 django==2.2.1 来安装指定的 Django 版本以保证和教程中的一致。如果直接 pip install django
的话有可能安装最新的 Django 发行版本,而不是 Django 2.2.1。
三、建立 Django 工程
Django 工程(Project)是我们项目代码的容器。通俗一点就是用一个文件夹把一系列 Python 代码文件和 Django 配置文件包裹起来,这个文件夹就可以看做一个 Django 工程。
1. 新建一个 django project
在存放项目的目录上,执行下面命令,新建项目工程(选择一种方式)
(venv) D:\github\venv> django-admin.py startproject project_name
(venv) D:\github\venv> django-admin startproject project_name
进入项目存放所在目录 D:\github\venv\(你可能设置在其它路径),会发现多了一个 project_name\ 的目录,其内部的文件结构如下:
project_name\
manage.py
project_name\
__init__.py
settings.py
urls.py
wsgi.py
2. 新建 app
要先进入项目目录下,然后执行下面的命令(选择一种方式)
python manage.py startapp app_name
django-admin.py startapp app_name
django-admin startapp app_name
一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。进入项目目录下,会发现多了一个 app_name\ 的目录,其内部的文件结构如下:
app_name\
migrations\
__init__.py
__init__.py
admin.py
apps.py
models.py
tests.py
views.py
应用创建完之后,需要告诉 Django 这是我们建立的应用,就是在 Django 的配置文件中注册这个应用。
打开 project_name\ 目录下的 settings.py 文件,找到 INSTALLED_APPS 设置项,将 blog 应用添加进去。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_name', # 注册 blog 应用
]
四、启动 Django 工程
修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
python manage.py runserver
python manage.py runserver 8001
五、Django 中文支持
Django 默认的语言是英语,所以显示给我们的欢迎页面是英文的。我们在 Django 的配置文件里稍作修改,让它支持中文。用任何一个文本编辑器打开 settings.py 文件,找到如下的两行代码:
## 其它配置代码...
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
把 LANGUAGE_CODE 的值改为 zh-hans,TIME_ZONE 的值改为 Asia/Shanghai:
## 其它配置代码...
# 把英文改为中文
LANGUAGE_CODE = 'zh-hans'
# 把国际时区改为中国时区
TIME_ZONE = 'Asia/Shanghai'
六、manage.py命令帮助
1. Django 项目环境终端
python manage.py shell
这个命令和 直接运行 python 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
2. 数据库命令行
python manage.py dbshell
Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。
在这个终端可以执行数据库的SQL语句。如果您对SQL比较熟悉,可能喜欢这种方式。
3. 更多命令
终端上输入 python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用。
网友评论