除了自动创建的模块文件,我们还可以根据需求为当前应用添加“urls.py”模块。如图3-14所示,在Pycharm中,通过在Web应用目录上单击鼠标右键,菜单中选择新建(N)→Python文件(Python File),输入文件名称后,就能够完成Python文件的创建。
在创建Web项目时,已经自动创建了“urls.py”模块,为什么还要为应用添加“urls.py”模块?
当一个Web项目包含多个Web应用时,URL的组成会比较复杂,全部在同一个“urls.py”模块中进行处理,会导致URL分发设置条目数量较多,难以管理。所以,需要在每个应用中单独创建“urls.py”模块,仅负责处理当前Web应用的URL请求。而在项目的“urls.py”模块中,只需要将不同Web应用的URL请求统一分配给相应的“urls.py”模块进行处理。以当前项目“我的网站/urls.py”模块为例,代码如下。
图3-14 PyCharm中新建Python文件
函数include允许引用其他URL配置。每当Django遇到include函数时,它会截断URL中与此项匹配的部分,并将剩余的字符串发送到引用的URL配置中做进一步处理。
例如,用户访问URL“http://127.0.0.1/中华古诗/唐诗/”时,“中华古诗/”之后会被截断,剩余的字符串“唐诗/”会被发送到“中华古诗.urls”中进行处理。
当需要引用其他URL配置时都需要使用include函数,admin.site.urls是唯一例外。
不过,我们的练习项目只有一个Web应用,所以可以将所有的请求直接发送到“中华古诗.urls”中进行处理。
最终,Web应用目录(中华古诗)下“urls.py”文件的代码如下。