Django入门:第三章、Hello World
  TEZNKK3IfmPf 2023年11月14日 20 0

第三章目录

  • 回顾
    • Django的组成结构
    • Hello World 网站
    • 总结

 

回顾

在上一章中,我们介绍了如何安装Django,然后通过命令行创建一个Django项目和Django应用,并对项目结构中的文件进行了初步的解释,可能大家还有很多迷糊的地方。不过没关系,我认为慢慢通过练习可以加深我们对这些结构和文件的理解。
今天,我们就能通过一个小小的练习–动手创建Hello World视图,用到上一章中部分Django项目默认创建的文件,赶紧学起来吧。


在我们进入本章动手练习之前,再熟悉熟悉Django的组成结构。

Django的组成结构

Django 是遵循MVC架构的Web开发框架,关于MVC框架的知识(大家可以自行了解,经常会被面试官提到),其主要由以下几个部分组成。

  • 管理工具(Management):一套内置的创建站点、迁移数据、维护静态文件的命令工具。
  • 模型(Models):提供数据访问接口和模块,包括数据字段、元数据、数据关系等的定义和操作。
  • 视图(Views):Django的视图层封装了HTTP Request和Response的一系列操作和数据流,其主要功能包括URL映射机制、绑定模板等。
  • 模板(Template):是一套Django自己的页面渲染模板语言,用若干内置的tags和filters定义页面的生成方式。
  • 表单(Form):通过内置的数据类型和控件生成HTML表单。
  • 管理站(Admin):通过声明需要管理的Model,快速生成后台数据管理网站。

引用菜鸟教程:MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。

  • Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。
  • View(视图) - 视图代表模型包含的数据的可视化。
  • Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离

大致对Django的组成结构了解之后,再接下来的笔记中,我们将花费时间和练习逐个学习Django这些模块。

Hello World 网站

在上一章我们讲到Django项目和应用的创建后,现在让我们来写我们的第一个视图(views),也就是创建第一个简单的Hello World 网站,通过这个方法我们能够大致了解Django的路由映射功能。

  1. 首先在mysite/myapp/views.py中建立一个路由相应函数:
from django.shortcuts import render
from django.http import HttpResponse    # 新增


# Create your views here.
def welcome(request):
    return HttpResponse("<h1>Hello World! </h1>")

该代码定义了一个函数welcome,简单返回一条被HttpResponse()函数封装的Welcome信息。

  1. 接下来,要通过URL映射将用户的HTTP访问与该函数绑定起来。
    在mysite/myapp/ 目录中新建一个urls.py文件,管理应用myapp中的所有URL映射:
    Django入门:第三章、Hello World
    写入代码如下:
from django.conf.urls import url
from . import views


urlpatterns = [
    url(r'', views.welcome, name='first-url')
]

第1行代码引入django.conf.urls中的url()函数,Django中的所有路由映射由该函数生成。
第2行代码引入了mysite/myapp/views.py模块。
第3行代码定义了关键变量urlpatterns,该变量是一个列表,保存所有由url()函数生成的路由映射,即,把所有路由映射到views.py的welcome函数中,并把该映射命名为first-url

  1. 在项目URL文件mysite/urls.py的urlpatterns中增加一项,声明对应用中myapp中urls.py文件的引用,代码如下:
from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import include  # 新增


urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^myapp/', include('myapp.urls')),   # 新增
]

首先通过import语句引入django.conf.urls.include()函数,然后通过在urlpatterns列表中增加一个路径myapp/,将其转接到myapp.urls包,即mysite/myapp/urls.py文件。这样,就能通过include()函数就将两个urlpatterns连接了起来。
4. 这样之后,我们来看看会发生什么:

python manage.py runserver

然后用Chrome(或者其他Web浏览器),打开[http://127.0.0.1:8000/myapp]这个链接,我们可以看到如下效果:
Django入门:第三章、Hello World
恭喜你!你刚刚完成了你的第一个Django视图–Hello World(毕竟这是每一个初学者必过的一关了吧。)

总结

通过第一章和第二章的学习,我们学习了如何安装Django,如何建立项目和应用,并以此开始了我们得第一个Django项目,创建了我们的初始应用程序。
希望大家能够主动动手开始实践,毕竟学会多写一种Hello World程序也是一种极大的进步啊。接下来,我们将开始逐步学习模型,视图和URLs,一起探索更多关于Django的有趣知识。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年03月29日   62   0   0 djangopython
  TEZNKK3IfmPf   2023年11月15日   23   0   0 django
  TEZNKK3IfmPf   2023年11月15日   26   0   0 django时间
  TEZNKK3IfmPf   2023年11月15日   284   0   0 djangosearch
  TEZNKK3IfmPf   2023年11月14日   155   0   0 djangoorm
  TEZNKK3IfmPf   2023年11月15日   37   0   0 djangopython
TEZNKK3IfmPf