Docker上的Django初学者系列之四:urls.py

太长不看。

本次文章是”Docker中的Django初学者试验之旅系列3:继续学习Django管理界面”。

如需从头开始阅读,请点击下方链接。
初学者基盘工程师在Docker中尝试Django系列1:使用Docker创建Django

本次文章又是在创建Django Girls示例的基础上继续学习和实践Django。

我们将学习有关文件urls.py的内容,该文件用于根据用户访问的URL来确定要执行的视图处理。原本该内容打算与第3部分一起发布,但由于篇幅过长而进行了拆分,所以本次是一个较短的部分。

urls.py 的翻译:网址.py

为了决定对用户访问的URL使用哪个视图进行处理,需要编辑名为urls.py的文件并进行映射。
如果按照前三步进行操作,当访问http://IPADDRESS:8000时,可能仍然能看到火箭页面,这是因为还没有编辑urls.py文件。(当然,模板和视图也是必需的。。)

编辑项目的urls.py文件

urls.py的中文翻译:网址.py

我马上开始编辑。但正当我打算开始的时候,突然察觉到了异常情况。
下面是默认的urls.py文件。

from django.conf.urls import url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

在Django的1.X版本中,当指定URL时,我们需要使用django.conf.urls.url方法,并利用正则表达式来表示URL。而从Django的2.X版本开始,引入了路径转换器的功能,不再需要使用正则表达式,可以直接进行编辑。但在我的环境中,默认的模板仍然使用的是1.X版本的内容。

Django Girls的示例也是按照2.X版本的方式编写的,所以更推荐使用新的版本。

由于我正在使用的Django版本是2.2.12,所以路径转换器应该可以正常运行。因此,我将把下面的内容完全替换为我的设置。

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

很容易理解的解說

from django.contrib import admin

用于指定默认管理员界面模型的模块。

from django.urls import path, include

path是使用前述的路径转换器的方法。与1.X系列的url相比,可以看出它可以在不使用正则表达式的情况下进行指定。
include是用于转发到另一个urls文件的方法。由于有关博客的设置最好集中在一个目录中以方便理解,所以本次设置中,所有对根路径的访问都将应用在blog/urls.py文件中的配置。

只需一个选项,以下是对② “编辑应用程序的urls.py” 进行中文的同义转述:

编辑应用程序的urls.py文件

urls.py -> 网址映射表

因此,在blog目录下创建一个名为urls.py的新文件,并按照下面的方式进行编写。

from django.urls import path
from . import views

urlpatterns = [
    path('', views.post_list, name='post_list'),
]

清楚易懂的解释

from . import views

导入同一目录下的views.py文件。

urlpatterns = [
    path('', views.post_list, name='post_list'),
]

如果有访问到根路径,就会在views.py中的post_list进行处理。

当然,在还没有创建post_list的情况下,如果在这个状态下启动,会发生错误。

下次我们将制作令人期待的View。由于Web应用程序即将完成,所以让我们继续努力吧。
待续

广告
将在 10 秒后关闭
bannerAds