本节将介绍开发Django框架应用程序的方法,包括如何通过命令行构建最基本的Django框架应用程序、如何选择Django框架应用程序的开发平台(IDE)和Django框架应用程序基本配置等内容。
如上文所述,在安装好Django开发环境后,就可以通过命令行构建Django应用程序了。通过命令行构建Django应用程序的关键,是Django框架自带的一个管理工具—django-admin.py(一个Python脚本文件)。
那么,这个django-admin.py管理工具在操作系统中的保存路径是什么呢?请读者查看图1.16,就在图中所示的django|bin目录中,如图1.21所示。django-admin.py脚本文件表示的就是Django框架管理工具。默认情况下,通过pip工具自动安装Django框架管理工具,django-admin命令就已经被添加到系统PATH路径了。
图1.21 django-admin.py管理工具
(1)通过django-admin管理工具在命令行创建Django应用程序:
django-admin startproject ProjectName
其中,参数startproject是django-admin.py工具自带的命令,用于创建用户自定义项目;参数ProjectName是用户自定义的项目名称,本例为HelloDjango。通过在命令行运行上述命令创建Django应用程序,效果如图1.22所示。可以看到,目录中有一个通过django-admin命令新创建的Django项目(HelloDjango)。
图1.22 通过django-admin命令创建Django应用程序
(2)查看该项目目录下的文件,如图1.23所示。通过DOS命令tree,可以查看新创建的Django项目(HelloDjango)的文件清单。
图1.23 通过django-admin命令创建Django应用程序
下面具体介绍一下这些项目文件的功能与作用。
● HelloDjango:Django项目容器。
● manage.py:一个Django命令行工具,可让开发人员以各种方式与Django项目进行交互。
● HelloDjango/asgi.py:一个ASGI兼容的Web服务器的入口,用于运行Django项目。
● HelloDjango/settings.py:Django项目的设置和配置文件。
● HelloDjango/urls.py:定义了Django项目的URL声明,一份由Django驱动的网站目录。
● HelloDjango/wsgi.py:定义了一个WSGI兼容的Web服务器的入口,支持运行Django项目。
● HelloDjango/__init__.py:一个Python空文件,通知Python解析器当前目录是一个Python包。
(3)进入HelloDjango项目的根目录,输入以下命令来启动Web开发服务器。
python manage.py runserver 0.0.0.0:8000
其中,0.0.0.0表示支持其他终端可以连接到开发服务器;8000(默认端口号)表示为开发服务器的端口号,如果省略,则表示端口号为8000。另外,上述命令可以使用下面的简写方式:
python manage.py runserver
(4)进入Django项目的根目录,运行上述简写命令方式。Django框架会以127.0.0.1:8000(ip:port)这个默认配置启动开发服务器,命令行的运行效果如图1.24所示。命令行日志信息表示Django开发服务器已经在“http://127.0.0.1:8000”启动了。
图1.24 启动Django开发服务器
(5)打开浏览器,输入日志信息中的服务器地址及端口号(http://127.0.0.1:8000),页面效果如图1.25所示。说明Django应用程序已经成功运行了!
图1.25 测试Django应用程序
学会使用命令行工具开发Django应用程序是基础,不过更多的时候还是要借助集成开发工具。目前,最好的Django应用程序开发工具就是JetBrains公司推出的PyCharm了。
借助PyCharm集成开发工具,可以极大地提高Django应用程序的开发效率,同时可以利用很多非常实用的第三方插件。不过读者也要清楚,PyCharm开发平台所实现的功能,在底层也是借助Django命令行工具完成的。
(1)打开PyCharm Professional(专业版)开发平台(专业版是付费软件,不过有30天的免费试用时间),如图1.26所示。
只有专业版(Professional)提供了对Django的支持,社区版(Community)是不支持Django的。请读者下载专业版。
图1.26 通过PyCharm开发Django应用程序(一)
(2)单击文件菜单(File)的新建工程(New Project)项创建Django项目,如图1.27所示。
图1.27 通过PyCharm开发Django应用程序(二)
(3)选择Django项后,在Location输入框中选择Django项目路径,然后创建Django应用程序(名称为HelloDjango),如图1.28所示。打开“More Setings”选项。其中,“Template language”项选择Django,“Template folder”项选择templates,“Application name”项定义应用程序名称(HelloDjango)。
图1.28 通过PyCharm开发Django应用程序(三)
(4)单击Create按钮创建项目,在弹出的对话框中单击“This Window”按钮,如图1.29所示。
图1.29 通过PyCharm开发Django应用程序(四)
耐心等待一会儿,PyCharm会为开发人员自动创建好Django应用程序框架和文件,如图1.30所示。PyCharm创建HelloDjango应用程序的文件与之前通过命令行工具(django-admin.py)创建的结果是一致的。
图1.30 通过PyCharm开发Django应用程序(五)
如前文所述,现在我们已经拥有了一个完整的Django应用程序框架和文件。下面我们在此基础上添加一些简单的Django代码,体验一下Django应用程序的具体开发过程。
(1)添加视图页面。
在HelloDjango项目的HelloDjango目录中新建一个views.py视图文件,并输入如下代码。
【代码1-1】
01 from django.http import HttpResponse
02 def sayHello(request):
03 return HttpResponse("Hello Django!")
【代码分析】
● 第01行代码中,通过调用django.http模块导入了HttpResponse对象(实现请求与响应)。
● 第02~03行代码中,定义了一个Python函数(sayHello)。
● 第03行代码通过调用HttpResponse对象返回一行文本信息。
(2)配置URL路由。
打开HelloDjango项目下HelloDjango目录中的urls.py路由文件,添加如下代码,以绑定URL路由与视图页面。
【代码1-2】
【代码分析】
● 第03行代码中,导入了【代码1-1】定义的视图页面(views.py)。
● 第07行代码中,通过调用路由方法(path())将视图页面(views.py)匹配到路由路径(/hello/)。
(3)测试视图页面。
先通过PyCharm启动Web开发服务器,具体效果如图1.31所示。日志信息提示开发服务器(http://127.0.0.1:8000/)已经成功启动了。
图1.31 测试Django应用程序视图页面(一)
打开浏览器并输入地址http://127.0.0.1:8000/hello,页面效果如图1.32所示。如图中的箭头和提示信息所示,页面成功显示了views.py文件所定义的文本信息,说明视图页面(views.py)已经被URL路由(urls.py)成功解析了!
图1.32 测试Django应用程序视图页面(二)