Django入门:第三章、Hello World

简介: 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映射:
    image.png
    写入代码如下:
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]这个链接,我们可以看到如下效果:

image.png

恭喜你!你刚刚完成了你的第一个Django视图–Hello World(毕竟这是每一个初学者必过的一关了吧。)

总结

通过第一章和第二章的学习,我们学习了如何安装Django,如何建立项目和应用,并以此开始了我们得第一个Django项目,创建了我们的初始应用程序。

希望大家能够主动动手开始实践,毕竟学会多写一种Hello World程序也是一种极大的进步啊。接下来,我们将开始逐步学习模型,视图和URLs,一起探索更多关于Django的有趣知识。

相关文章
|
1月前
|
Java API 数据库
Django:从入门到精通
【11月更文挑战第18天】Django是一个由Python编写的高级Web应用框架,以其简洁性、安全性和高效性而闻名。Django最初由Adrian Holovaty和Simon Willison于2003年开发,旨在简化Web应用的开发过程。作为一个开放源代码项目,Django迅速吸引了大量的开发者和用户,成为了Python Web开发领域的重要工具之一。
45 1
|
2月前
|
IDE 关系型数据库 MySQL
Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld
这篇文章是关于如何创建一个Django框架,介绍Django的项目结构和开发逻辑,并指导如何创建应用和编写“Hello, World!”程序的教程。
100 3
Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld
|
2月前
|
存储 Shell 数据库
Python编程--Django入门:用户账户(二)
Python编程--Django入门:用户账户(二)
28 2
|
2月前
|
存储 数据库 Python
Python编程--Django入门:用户账户(一)
Python编程--Django入门:用户账户(一)
20 1
|
4月前
|
前端开发 关系型数据库 Python
Django入门到放弃之分页器
Django入门到放弃之分页器
|
4月前
|
数据库 开发者 Java
颠覆传统开发:Hibernate与Spring Boot的集成,让你的开发效率飞跃式提升!
【8月更文挑战第31天】在 Java 开发中,Spring Boot 和 Hibernate 已成为许多开发者的首选技术栈。Spring Boot 简化了配置和部署过程,而 Hibernate 则是一个强大的 ORM 框架,用于管理数据库交互。将两者结合使用,可以极大提升开发效率并构建高性能的现代 Java 应用。本文将通过代码示例展示如何在 Spring Boot 项目中集成 Hibernate,并实现基本的数据库操作,包括添加依赖、配置数据源、创建实体类和仓库接口,以及在服务层和控制器中处理 HTTP 请求。这种组合不仅简化了配置,还提供了一套强大的工具来快速开发现代 Java 应用程序。
282 0
|
4月前
|
开发框架 安全 数据库
解锁Django框架神秘面纱!从入门到实战,掌握这些技巧,让你的Web应用秒变高效神器!
【8月更文挑战第31天】Django 是 Python 的明星 Web 开发框架,以其高效、安全及可扩展性著称,适用于构建各类 Web 应用。本文从 Django 基础概念出发,介绍其 MTV 架构,涵盖模型(Model)、模板(Template)、视图(View)等核心组件,并通过示例代码展示实际应用。此外,还将探讨路由配置、管理界面及实战技巧,帮助读者全面掌握 Django,为高效 Web 开发打下坚实基础。
60 0
|
4月前
|
关系型数据库 MySQL 机器人
Django入门到放弃之数据库配置
Django入门到放弃之数据库配置
|
4月前
|
缓存 中间件 数据库
Django入门到放弃之缓存及信号机制
Django入门到放弃之缓存及信号机制
|
4月前
|
前端开发 数据库 数据安全/隐私保护
Django入门到放弃之Auth模块
Django入门到放弃之Auth模块
下一篇
DataWorks