精通Django 3 Web开发
上QQ阅读APP看书,第一时间看更新

1.5 创建Django项目

创建Django项目可以在终端输入指令完成,也可以在PyCharm里创建项目,前者是通过Django内置的指令实现,后者是在PyCharm的可视化界面完成。

1.5.1 使用内置指令创建项目

一个项目可以理解为一个网站,创建Django项目可以在命令提示符窗口输入创建指令完成。打开命令提示符窗口,将当前路径切换到D盘并输入项目创建指令:

第一行指令是将当前路径切换到D盘;第二行指令是在D盘的路径下创建Django项目,指令中的“MyDjango”是项目名称,读者可自行命名。项目创建后,可以在D盘下看到新创建的文件夹MyDjango,在PyCharm下查看该项目的结构,如图1-11所示。

图1-11 项目目录结构

MyDjango项目里包含MyDjango文件夹和manage.py文件,而MyDjango文件夹又包含5个.py文件。项目的每个文件说明如下:

  • manage.py:命令行工具,内置多种方式与项目进行交互。在命令提示符窗口下,将路径切换到MyDjango项目并输入python manage.py help,可以查看该工具的指令信息。
  • __init__.py:初始化文件,一般情况下无须修改。
  • asgi.py:用于启动异步通信服务,比如实现在线聊天等异步通信功能。
  • settings.py:项目的配置文件,项目的所有功能都需要在该文件中进行配置,配置说明会在下一章详细讲述。
  • urls.py:项目的路由设置,设置网站的具体网址内容。
  • wsgi.py:全称为Python Web Server Gateway Interface,即Python服务器网关接口,是Python应用与Web服务器之间的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。

从Django 3.0开始,新建的项目都会创建asgi.py文件,这是将异步通信服务纳入Django的内置功能,也是Django 3.0的新特性之一。ASGI是异步网关协议接口,一个介于网络协议服务和Python应用之间的标准接口,能够处理多种通用的协议类型,包括HTTP、HTTP2和WebSocket。

WSGI是基于HTTP协议模式,但它不支持WebSocket,而ASGI则是为了解决WSGI不支持当前Web开发中的一些新的协议标准(比如WebSocket)。同时,ASGI不仅支持WSGI原有的模式,而且还支持使用WebSocket,简单来说,ASGI是WSGI的功能扩展。

完成项目的创建后,接着创建项目应用,项目应用简称为App,相当于网站功能,每个App代表网站的一个功能。App的创建由文件manage.py实现,创建指令如下:

从D盘进入项目MyDjango,然后使用python manage.py startapp XXX创建,其中XXX是应用的名称,读者可以自行命名。上述指令创建了网站首页,再次查看项目MyDjango的目录结构,如图1-12所示。

图1-12 目录结构

从图1-12可以看到,项目新建了index文件夹,其可作为网站首页。在index文件夹中可以看到有多个.py文件和migrations文件夹,说明如下:

  • migrations:用于生成数据迁移文件,通过数据迁移文件可自动在数据库里生成相应的数据表。
  • __init__.py:index文件夹的初始化文件。
  • admin.py:用于设置当前App的后台管理功能。
  • apps.py:当前App的配置信息,在Django 1.9版本后自动生成,一般情况下无须修改。
  • models.py:定义数据库的映射类,每个类可以关联一张数据表,实现数据持久化,即MTV里面的模型(Model)。
  • tests.py:自动化测试的模块,用于实现单元测试。
  • views.py:视图文件,处理功能的业务逻辑,即MTV里面的视图(Views)。

完成项目和App的创建后,最后在命令提示符窗口输入以下指令启动项目:

将命令提示符窗口的路径切换到项目的路径,输入运行指令python manage.py runserver 8001,如图1-13所示。其中8001是端口号,如果在指令里没有设置端口,端口就默认为8000。最后在浏览器中输入http://127.0.0.1:8001/,可看到项目的运行情况,如图1-14所示。

图1-13 输入运行指令

图1-14 项目运行结果

1.5.2 使用PyCharm创建项目

除了在命令提示符窗口创建项目之外,还可以在PyCharm中创建项目。PyCharm必须为专业版才能创建与调试Django项目,社区版是不支持此功能的。打开PyCharm并在左上方单击File→New Project,创建新项目,如图1-15所示。

图1-15 创建Django

项目创建后,可以看到目录结构多出了templates文件夹,该文件夹用于存放HTML模板文件,如图1-16所示。

图1-16 目录结构

接着创建App应用,可以在PyCharm的Terminal中输入创建指令,创建指令与命令提示符窗口中输入的指令是相同的,如图1-17所示。

图1-17 创建App

完成项目和App的创建后,启动项目。如果项目是由PyCharm创建的,就直接单击“运行”按钮启动项目,如图1-18所示。

图1-18 启动Django

如果项目是在命令提示符窗口创建的,想要在PyCharm启动项目,而PyCharm没有运行脚本,就需要对该项目创建运行脚本,如图1-19所示。

图1-19 创建运行脚本

然后单击图1-19中的Edit Configurations就会出现Run/Debug Configurations界面,单击该界面左上方的+并选择Django server,最后输入脚本名字,单击OK按钮即可创建运行脚本,如图1-20所示。

图1-20 运行脚本