原标题:技术分享|利用Python Django一步步搭建个人博客(三)
Hello,欢迎来到“利用Python Django一步步搭建个人博客”系列的第三部分。在第二部分中,我们创建了一个数据库,但还未通过添加实际数据并查看其功能来对其进行测试。在本教程中,我们将向数据库添加数据并通过管理员访问它,同时也会创建我们的博客页面。
为了能够访问我们从管理页面创建的数据库,我们需要注册它。打开我们在上一个教程中创建的blogapp文件夹。在里面,你会找到一个“admin.py”文件。在您喜欢的编辑器中打开它并向其添加以下代码:
上图代码的简单解释:第3行读取“from .models import Post”。我们告诉Django导入位于models.py文件中的Post数据库。如果没有这一行,当它尝试在第6行运行代码时会出现错误。第6行的代码只是说“admin.site.register(Post)”。这告诉Django管理员应用程序将Post作为链接包含在管理页面中。
立即运行服务器,然后转到localhost:8000 / admin。登录后,您应该看到Post以蓝色突出显示。
单击它,然后添加帖子。我们可以通过这种方式添加、编辑和删除Django管理员的帖子。现在,您的数据库包含一篇文章。您可以根据需要添加。
接下来,我们将创建我们的页面。Django采用构建应用程序的MVC(模型,视图,控制器)方法。基本上,这意味着您的文章数据与呈现它的页面框架是分开的。如果您注意到,我们将Post数据库写入名为“Models”的文件中。该文件仅用于与我们的数据和数据库相关的内容。现在你已经对MVC有一个模糊的理解,让我们开始创建我们的页面。
在blogapp文件夹中,打开“views.py”文件。将以下代码添加到其中:
代码解释:我们看到在第6行定义的函数,这称为“基于函数的视图”。 Django有两种渲染视图的方式:基于函数的视图和基于类的视图。我在这里使用基于函数的视图,因为作为初学者比基于类的视图更容易理解。该函数接受“request”参数,并返回HttpResponse“Hello”。在第3行中,我们可以看到从“django.http”模块导入HttpResponse类。
目前的一个问题是我们无法访问此视图。它没有URL,Django无法知道这个网页是什么以及它是如何工作的。URL(统一资源定位符)是我们页面位置的地址。Django知道如何去寻找你的页面以及如何处理它。为了能够“渲染”此页面,我们必须将其映射到应用程序中的URL。为此,我们转到我们的博客文件夹(原始项目目录中的文件夹)。在此文件夹中有一个名为urls.py的文件。打开它并向其添加以下代码:
代码解释:这是Django urls.py文件。在这里,您可以将URL添加到各种页面中。 urlpatterns是RegEx(正则表达式)的集合,以及包含视图代码的函数(或类)的路径。url方法有两个参数(也可能是三个,我们稍后会看到)。第一个是正则表达式“r ^ / $”,第二个是视图的路径。 “r”表示采用原始字符串。 “^”符号表示模式的开头与字符串的开头匹配,并确保只匹配正确的URL。只是URL的名称,在本例中为“Posts”。“$”符号表示模式匹配字符串的结尾。
例如,我们以“^ posts / $”URL为例。如果我们只写了“posts / $”,那么Django将匹配任何以posts /结尾的URL,例如blog / article / posts而不仅仅是/ posts /。同样,如果我们刚刚写了“^ posts /”,那么Django会匹配以posts开头的任何网址,例如posts/article/而不仅仅是/ posts /。是的,RegEx起初可能会让人不知所措,但经常使用,它们也不是那么令人生畏。
现在让我们运行服务器,看看我们会得到什么。导航到localhost:8000 / posts。瞧!您应该看到呈现的响应。这是一个基本的HTML页面呈现!
恭喜! 你正在取得令人敬畏的进步。 到目前为止我们学到了什么:
1. MVC模型的概述
2.创建页面
3.将页面映射到URL
4.简单了解RegEx
在下一个教程中,我们将讨论Django模板以及如何编写它们。不见不散!返回搜狐,查看更多
责任编辑: