Django 创建第一个项目

来源:互联网 发布:蔡依林 骑士精神 知乎 编辑:程序博客网 时间:2024/05/29 10:58

Django 创建第一个项目

在Django中,一个项目被认为是一个安装了一些设置的Django;一个应用是一个包含模型(models),视图(views),模板(templates)以及URLs的组合。应用之间的交互通过Django框架提供的一些特定功能,并且应用可能被各种各样的项目重复使用。你可以认为项目就是你的网站,这个网站包含多个应用,例如blog,wiki或者论坛,这些应用都可以被其他的项目使用。

Django提供了一个命令允许你方便的创建一个初始化的项目文件结构。

使用 django-admin.py 来创建 HelloWorld 项目:

django-admin startproject HelloWorld

创建完成后我们可以查看下项目的目录结构:

.|-- HelloWorld|   |-- __init__.py|   |-- settings.py|   |-- urls.py|   `-- wsgi.py`-- manage.py

目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站”目录”。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

默认生成的settings.py文件包含一个使用一个SQLite数据库的基础配置以及一个Django应用列表,这些应用会默认添加到你的项目中。我们需要为这些初始应用在数据库中创建表。

打开终端执行以下命令:

cd HelloWorldpython manage.py migrate

本文演示时输出:

Operations to perform:  Apply all migrations: admin, auth, contenttypes, sessionsRunning migrations:  Applying contenttypes.0001_initial... OK  Applying auth.0001_initial... OK  Applying admin.0001_initial... OK  Applying admin.0002_logentry_remove_auto_add... OK  Applying contenttypes.0002_remove_content_type_name... OK  Applying auth.0002_alter_permission_name_max_length... OK  Applying auth.0003_alter_user_email_max_length... OK  Applying auth.0004_alter_user_username_opts... OK  Applying auth.0005_alter_user_last_login_null... OK  Applying auth.0006_require_contenttypes_0002... OK  Applying auth.0007_alter_validators_add_error_messages... OK  Applying auth.0008_alter_user_username_max_length... OK  Applying sessions.0001_initial... OK

这些初始应用表将会在数据库中创建。过一会儿就可以接触migrate的管理命令。

运行开发服务器

打开终端,在你的项目主目录(HelloWorld)下运行以下代码来开启开发服务器:

python manage.py runserver

本文演示时输出:

PS E:\sundry\WP\HelloWorld> python manage.py runserverPerforming system checks...System check identified no issues (0 silenced).October 27, 2017 - 11:47:12Django version 1.11.6, using settings 'HelloWorld.settings'Starting development server at http://127.0.0.1:8000/Quit the server with CTRL-BREAK.

现在,在浏览器中打开 http://127.0.0.1:8000/

看到页面:It worked!
Congratulations on your first Django-powered page.

你可以指定Django在定制的host和端口上运行开发服务,或者告诉它你想要运行你的项目通过读取一个不同的配置文件。例如:你可以运行以下 manage.py命令:

python manage.py runserver 127.0.0.1:8001 \--settings=mysite.settings

这个命令迟早会对处理需要不同设置的多套环境启到作用。记住,这个服务器只是单纯用来开发,不适合在生产环境中使用。为了在生产环境中部署Django,你需要使用真实的web服务让它运行成一个WSGI应用例如Apache,Gunicorn或者uWSGI(译者注:强烈推荐 nginx+uwsgi+Django)。