初始化 Django 项目

1 - 创建虚拟环境

# 创建
learning_log$ python -m venv ll_env
learning_log$

# 激活
learning_log$ source ll_env/bin/activate
(ll_env)learning_log$

# 停止
(ll_env)learning_log$ deactivate
learning_log$

2 - 安装 Django

 (ll_env)learning_log$ pip install django
Collecting django
--snip--
Installing collected packages: pytz, django
Successfully installed django-2.2.0 pytz-2018.9 sqlparse-0.2.4
(ll_env)learning_log$

3 - 在 Django 中创建项目

(ll_env)learning_log$ django-admin startproject learning_log .
(ll_env)learning_log$ ls
  learning_log ll_env manage.py
(ll_env)learning_log$ ls learning_log
  __init__.py settings.py urls.py wsgi.py
  • 文件settings.py指定Django如何与系统交互以及如何管理项目。在开发项目的过程中,我们将修改其中一些设置,并添加一些设置。

  • 文件urls.py告诉Django,应创建哪些页面来响应浏览器请求。

  • 文件wsgi.py帮助Django提供它创建的文件,这个文件名是Web服务器网关接口(Web server gateway interface)的首字母缩写。

4 - 创建数据库

(ll_env)learning_log$ python manage.py migrate
  Operations to perform:
    Apply all migrations: admin, auth, contenttypes, sessions
  Running migrations:
    Applying contenttypes.0001_initial... OK
    Applying auth.0001_initial... OK
    --snip--
    Applying sessions.0001_initial... OK

(ll_env)learning_log$ ls
  db.sqlite3 learning_log ll_env manage.py

5 - 启动项目

(ll_env)learning_log$ python manage.py runserver

  Watchman unavailable: pywatchman not installed.
  Watching for file changes with StatReloader
  Performing system checks...

 System check identified no issues (0 silenced).
  February 18, 2019 - 16:26:07
 Django version 2.2.0, using settings 'learning_log.settings'
 Starting development server at http://127.0.0.1:8000/
  Quit the server with CONTROL-C.