Django 快速搭建博客 第四节(hello world视图)

2023-11-01

上一节我们学会了怎样建数据库表,学习数据库的操作,如果想要把它们显示在网页上,我们还得练习一下如何在网页上显示第一个自己写的hello world 视图

1 ,我们需要在blog下建一个urls.py的文件,里面写上:

/blog/urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^$',views.index,name='index'),
]

urlpatterns 括号里面的是把网址和相对应的处理函数作为参数传给url函数(第一个参数是网址,第二个参数是处理函数,另外我们还传递了一个 name函数,这个函数后面的views里面会用到。)

说明一下:r'^$'是python里面的正则匹配,^$ 代表以空字符串开头,以空字符串结尾

2 , 我们在/blog/views.py 下编写:

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse('欢迎来到我的博客首页!')

第2步的views.index 对应这里的index函数,函数里面接受一个request请求,然后django返回一个httpresponse对象,以字符串的形式返回到浏览器中。

3 , 配置blogproject里面的urls了, 因为我们这里是在blog文件夹下新建的urls,所以工程中并不能识别出来blog中的urls,so,我们要把blog下的urls.py文件夹能让blogproject识别出来,当我们写完代码应该是这样子的显示:

"""blogproject URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/1.10/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.conf.urls import url, include
    2. Add a URL to urlpatterns:  url(r'^blog/', include('blog.urls'))
"""
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'',include('blog.urls')),
]

这里使用include 保证了blogproject能识别出blog下的urls,

此时我们在用命令:tree一下:
tree下的结构.png

4 , 最后我们使用命令:python manage.py runserver然后运行成功后在浏览器中访问应该是这样子的:
欢迎来到我的博客首页.png

这样我们就把我们自己写的hello world 显示在浏览器上了。

贴上工程结构图:
工程结构图.png

ending…..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 快速搭建博客 第四节(hello world视图) 的相关文章

随机推荐

  • iOS编程中——id数据类型

    iOS编程中经常见到的 id 数据类型 id类型声明没有 号 是动态数据类型 可以指向任何类的对象 而不关心具体类型 编译阶段不做类型检查 运行阶段检查具体类型 优点 灵活 可以指向任何数据类型 编译阶段不指向任何类型 缺点 可读性不高 编
  • AR(制作流程)

    http blog csdn net yy763496668 article details 77806420 杨勇博客之家unity 80
  • Kafka or RabbitMQ:消息中间件选型深入分析

    一 前言 消息队列中间件 简称消息中间件 是指利用高效可靠的消息传递机制进行与平台无关的数据交流 并基于数据通信来进行分布式系统的集成 通过提供消息传递和消息排队模型 它可以在分布式环境下提供应用解耦 弹性伸缩 冗余存储 流量削峰 异步通信
  • 算法导论 学习笔记 第四章 递归

    n logba Theta n log b a lga Theta lga 这一章主要是介绍了三种求运行时间的方法 这三种方法都是解决递归问题的 就像分治法这种问题的算法的运行时间 这三种方法分别是替换法 递归树方法 主方法 4 1替换法
  • 对文件“\\.\PhysicalDrive1”的操作失败。

    用u盘给vm虚拟机安装系统时提示 因为前面添加了一个新的硬盘 既你的U盘 用来引导虚拟机进入系统启动盘 如果你在 可移动设备 中将选择 连接 断开与主机的连接 那么你的U盘就作为虚拟机的移动盘 U盘 而不是作为虚拟机的硬盘来处理 所以虚拟机
  • uni-app使用总结

    我在uni app遇到的问题 样式问题 1 组件和调用此组件的页面样式最好不要重名 不然会有样式覆盖问题 2 数据绑定变量的时候不能识别upx 可以转化 官网最新更正单位为rpx computed halfWidth return uni
  • 多版本node的安装和巧妙切换

    1 安装多版本node的原因 在项目开发过程中 不同项目使用的 node版本不同 有时会因为node版本过高或太低 导致报错 本文将教你如何在同一个系统中安装多个版本的node并且快速而且 巧妙地切换 2 安装指定版本的node 点击进入
  • Keil MDK的一些推荐功能(编码格式、自动保存、代码提示、动态语法检查、多核编译)

    一直在用Keil MDK开发 很多时候并没有仔细去研究它强大的功能 最近在做一些开源项目的同时也在想办法提高自己的工作效率 所谓时间就是金钱 看到世伟兄分享的这篇Keil MDK的笔记 正是我想要学习提升效率的 所谓前人种树 作为后人的我就
  • DAY39:贪心算法(七)根据身高重建队列(注意思路)+最少箭引爆气球(重叠区间)

    文章目录 406 根据身高重建队列 注意思路 思路 两个维度 降序排序注意点 完整版 vector容器插入相关复习 为什么能直接根据ki数值插入ki位置的下标 时间复杂度 vector insert操作存在的问题 链表优化版 时间复杂度 l
  • Zookeeper的功能以及工作原理

    1 ZooKeeper是什么 ZooKeeper是一个分布式的 开放源码的分布式应用程序协调服务 是Google的Chubby一个开源的实现 它是集群的管理者 监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作 最终 将简单易用
  • 2022年5月30日STM32——存储器 和 I2C读写EEPROM

    此内容仅是为了自己方便回忆 内容来源于野火指南者开发板教程 一 存储器 RAM Random Access Memory 随机存储器 当存储器中的消息被读取或写入时 所需要的时间与这段信息所在的位置无关 RAM分为动态随机存储器DRAM D
  • 再见以前说再见 操作系统复习

    mutex semget IPC PRIVATE 1 0666 IPC CREAT 创建信号量 semctl mutex 0 SETVAL 1 互斥信号量mutex赋初值为1 定义p操作 信号量申请操作 p sem num 0 p sem
  • 如何使用Python的Pyecharts做一个数据可视化的Graph 关系图?

    文章目录 前言 一 Pyecharts是什么 二 Graph关系图是什么 三 使用步骤 1 引入库 2 读入数据 3 人物关系 4 结果 总结 前言 Graph 关系图通常用于分析具有复杂性的数据 例如 如果你想探索不同实体之间的关系 你可
  • C# WinForm 默认最大化

    只需要在窗口的Shown事件处理函数中修改 WindowState即可 this WindowState FormWindowState Maximized
  • 事件绑定器-BP

    蓝图上的事件绑定器 在C 中就是代理 类似于这边绑定炸药包 那边爆炸 这个例子是 绑定人的F键 启动着火特效 书上的这个例子有问题 关卡蓝图上 核心在于startfire 事件 1 一边连接这绑定 一边连接着事件触发后的响应 先看第三人称绑
  • SpringBoot使用AOP

    本文介绍SpringBoot中使用Spring AOP 简介 AOP简介 AOP可能对于广大开发者耳熟能详 它是Aspect Oriented Programming的缩写 翻译成中文就是 面向切面编程 这个可能是面试中经常提到的问题 同时
  • 客服如何使用ChatGPT提高工作效率

    文章目录 ChatGPT简介 ChatGPT在客服中的应用 ChatGPT的优势和挑战 客服人员应该如何应对 1 与ChatGPT保持较高的专业水平 2 与ChatGPT建立良好的合作关系 3 强调人性化的服务 4 不断提升沟通和解决问题的
  • [前端] 编译时报错FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

    参考文献 FATAL ERROR Reached heap limit Allocation failed JavaScript heap out of memory Vue cli3执行serve和build命令时nodejs内存溢出问题
  • 【JAVA多线程11】线程基本方法-线程等待(wait)/线程唤醒(notify)

    1 wait notify notifyAll 方法是Object的本地final方法 无法被重写 2 wait 使当前线程阻塞 前提是 必须先获得锁 一般配合synchronized 关键字使用 即 一般在synchronized 同步代
  • Django 快速搭建博客 第四节(hello world视图)

    上一节我们学会了怎样建数据库表 学习数据库的操作 如果想要把它们显示在网页上 我们还得练习一下如何在网页上显示第一个自己写的hello world 视图 1 我们需要在blog下建一个urls py的文件 里面写上 blog urls py