学习导向:what(是什么)、why(为什么)、how(怎么用)

1、视图

①、在没有框架的时代,我们一般使用html实现一个页面

②、但是现在我们不可能用写html来实现所有功能(不可能)

③、我们需要用更深层次、逻辑上的的开发

④、用于产生内容的东西,通过编写一个又一个Django视图函数,来表达页面更深层次的东西

例如:我们需要页面中展示【hello world】,那么就需要编写一个视图函数,使用该函数返回字符串,参考Flask

步骤如下①、在view下

①、在view视图部分
#这个参数你请求的request对象
def hello_world(requests):
#不能直接返回字符串(但是flask是可以的),需要把返回的值包装成response
#因此需要引入response(from django.http import HttpResponse;)
return HttpResponse('hello world');
写完这个视图方法后,我们再使用runserver方法运行,还是只能看到初始页面,而看不到我们这个方法,是因为我们还需要配置路由(请求没办法找到这个视图函数)

2、路由

①、通过路由配置URL,从而来绑定这个视图

②、路由分为应用层次,和项目层次,我们先配置应用层次

③、应用层次,需要新建一个py文件,命名为urls.py,并引入Django路由相关的模块

from django.urls import path,include;

④、承接上步,引入一个视图函数

from blog.views import hello_world;------->这个就是刚才我们在blog-view.py中写的视图函数

⑤、接下来就是路由配置了(是一个数组)

urlpattren=[
#配置路由,第一个值是视图函数的参数,第二个值是视图函数,注意,此处不要()
path('helloworld',hello_world)
];

⑥、以上操作,应用层次的路由已经配置完毕,现在配置项目层次的路由,在项目下找到urls.py(默认存在的)

urlpatterns = [
path('admin/', admin.site.urls),
#项目路由下,新增一个应用路由,并把这个路由转到blog下的urls上
path('blog/',include('blog.urls'))
]

⑦、以上操作--就完成了应用的路由配置,但是现在还是不能运行的,需要把这个Django应用添加到配置文件(settings.py)中

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#这是我的Django应用
'blog.apps.BlogConfig'
]

⑧、执行了以上操作后,此时再执行python manage.py runserver,就可以跑起来了

出现问题:直接访问http://127.0.0.1:8000/

解决办法:这个原因是因为url地址错误

改为:http://127.0.0.1:8000/blog/hello_world-------------->blog应用下的hello_world试图

总结:视图显示的原理

Django--Hello的更多相关文章

  1. 异步任务队列Celery在Django中的使用

    前段时间在Django Web平台开发中,碰到一些请求执行的任务时间较长(几分钟),为了加快用户的响应时间,因此决定采用异步任务的方式在后台执行这些任务.在同事的指引下接触了Celery这个异步任务队 ...

  2. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  3. django server之间通过remote user 相互调用

    首先,场景是这样的:存在两个django web应用,并且两个应用存在一定的联系.某些情况下彼此需要获取对方的数据. 但是我们的应用肯经都会有对应的鉴权机制.不会让人家随随便便就访问的对吧.好比上车要 ...

  4. Mysql事务探索及其在Django中的实践(二)

    继上一篇<Mysql事务探索及其在Django中的实践(一)>交代完问题的背景和Mysql事务基础后,这一篇主要想介绍一下事务在Django中的使用以及实际应用给我们带来的效率提升. 首先 ...

  5. Mysql事务探索及其在Django中的实践(一)

    前言 很早就有想开始写博客的想法,一方面是对自己近期所学知识的一些总结.沉淀,方便以后对过去的知识进行梳理.追溯,一方面也希望能通过博客来认识更多相同技术圈的朋友.所幸近期通过了博客园的申请,那么今天 ...

  6. 《Django By Example》第三章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:第三章滚烫出炉,大家请不要吐槽文中 ...

  7. 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...

  8. 《Django By Example》第一章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:本人目前在杭州某家互联网公司工作, ...

  9. Django

    一.Django 简介 Django 是一个由 Python 写成的开放源代码的 Web 应用框架.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是 CMS(内容管理系统) ...

  10. Django admin定制化,User字段扩展[原创]

    前言 参考上篇博文,我们利用了OneToOneField的方式使用了django自带的user,http://www.cnblogs.com/caseast/p/5909248.html , 但这么用 ...

随机推荐

  1. [测试篇]MarkDown之代码块行号+折叠图片

    对比测试代码编号 $(function(){ $('pre code').each(function(){ texts = $(this).text().replace(/&(?!#?[a-z ...

  2. Android greenDAO 数据库 简单学习之基本使用

    看网上对greenDAO介绍的不错,今天就动手来试一把,看看好不好使. greenDAO 官方网站:http://greendao-orm.com/ 代码托管地址:https://github.com ...

  3. Cucumber环境配置

    1.JDK下载和配置 2.Maven下载和环境配置 3.IDEA下载和Cucumber插件安装 下载地址官网,一般IDEA自带cucumber插件 如果没有安装过的话,点击以下进行搜索安装,安装完成后 ...

  4. SQL学习指南第二篇

    使用集合 union操作符(组合查询) 多数 SQL 查询只包含从一个或多个表中返回数据的单条 SELECT 语句.但是,SQL 也允许执行多个查询(多条 SELECT 语句),并将结果作为一个查询结 ...

  5. VMware虚拟机无法上网 无法启动VMnet0等问题【转载】

    http://www.linuxidc.com/Linux/2015-05/117704.htm VMware虚拟机无法上网,由于之前安装过VMware虚拟机,后来将它卸载了,然后重新安装,最后出现了 ...

  6. 微信小程序无法定位

    获取定位的时候报:errMsg:getLocation:fail:require permission desc 错 解决办法: 在app.js加入代码 //app.js新增如下代码 config = ...

  7. grovvy身份证(全)

    import java.text.DecimalFormat import java.text.SimpleDateFormat import java.util.Calendar; import j ...

  8. 剑指Offer_编程题_25

    题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否 ...

  9. Pandas系列(七)-计算工具介绍

    内容目录 1. 统计函数 2. 窗口函数 3. 加深加强 数据准备 # 导入相关库 import numpy as np import pandas as pd #Pandas 中包含了非常丰富的计算 ...

  10. 16、使用limit offset 分页时,为什么越往后翻越慢?如何解决?

    在mysql中limit可以实现快速分页,但是如果数据到了几百万时我们的limit必须优化才能有效的合理的实现分页了,否则可能卡死你的服务器哦. 当一个表数据有几百万的数据的时候成了问题! 如 * f ...