第二个app 计算

新建一个app

  1. python manage.py startapp jisuan

在view定义显示的内容

加法 通过get请求进行获取数值

  1. from django.shortcuts import render
  2. from django.http import HttpResponse
  3. def add(request):
  4. a = request.GET['a'] #获取a 默认0
  5. b = request.GET['b']
  6. c = int(a)+int(b)
  7. return HttpResponse(str(c)) #显示c

修改urls指定连接对应的视图

导入app下的视图

路径下引入

  1. from jisuan import views as jisuan_views
  2. urlpatterns = [
  3. path('admin/', admin.site.urls),
  4. path('learn/', learn_views.index),
  5. path('jisuan/add/', jisuan_views.add),
  6. ]

测试

启动项目

python manage.py run server

访问

  1. http://127.0.0.1:8000/jisuan/add/?a=66&b=888
  2. #get请求获取参数 必须有两个参数 使用?变量名=值&拼接

另一种通过路径传参的方式

在视图内定义乘法

  1. # 通过路径传参
  2. def mul(repuest,a,b):
  3. c=int(a)*int(b)
  4. return HttpResponse(str(c))

访问网址路径传参的urls定义方法

  1. path('jisuan/mul/<int:a>/<int:b>/',jisuan_views.mul),

网址路径传参测试

启动项目

python manage.py run server

访问

  1. http://127.0.0.1:8000/jisuan/mul/4/5/

urls的urlname

urlname是在urls内给访问路径定义的名字

简单说,name 可以用于在 templates, models, views ……中得到对应的网址,相当于“给网址取了个名字”,只要这个名字不变,网址变了也能通过名字获取到。

  • 创建template目录,并在目录下创建jisuanindex.html

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Luckyness</title>
  6. </head>
  7. <body>
  8. <a href="/mul/4/5/">计算 4*5</a>
  9. ***************
  10. <a href="{% url 'mul' 4 5 %}">计算 4*5 使用urlname引用 </a>
  11. </body>
  12. </html>
  • 如果网页内的所有url都写死了的话,以后url需要修改,那么就需要对html页面进行很多修改,所以要使用urlname,给urls内的链接起一个别名,方便以后的修改
  1. 不带参数的:
  2. {% url 'name' %}
  3. 带参数的:参数可以是变量名
  4. {% url 'name' 参数 %}
  5. 例如:
  6. <a href="{% url 'add2' 4 5 %}">link</a>
  • 将html引入网站 render渲染模板

django如何实现跳转

例如某个链接网址变更,但是用户收藏的旧网址

通过在views写一个跳转函数来实现

  1. from django.http import HttpResponseRedirect
  2. from django.urls import reverse
  3. def add2mul(request,a,b):
  4. return HttpResponseRedirect(
  5. reverse('mul',args=(a,b))
  6. )

在urls内增加

  1. path('add/<int:a>/<int:b>/',jisuan_views.add2mul,name='tiaozhuan')

前端添加一个这样的链接

  1. <a href="/add/4/5/">我的链接本来是/add/4/5/</a>

点击可以跳转到求积

Djangoday2第二个app加减法的更多相关文章

  1. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  2. 我的第二个app上线:术购管家

    忙了两周写完的app,终于发布了,可是等上线竟然等了两周多,今天终于上线了,一路顺畅,没有被打回过...

  3. 第二个App“今日美文”上架【原】

    App store 下载地址 开发这个App的本意 之前偶然找到一个叫<每日一文>的应用,正是我一直想找的,优点如下: 界面够简单 推荐的文章也很好,而且都不太长 每天都不一样 但是用起来 ...

  4. 第二章App框架设计与重构

    response标准格式: { "isError":false, "errorType": 0, "errorMessage": " ...

  5. vue做的第二个app

    用vue做应用最好的还是组件的复用上次做饿了吗的app封装了一个评分star的组件只要引入组件传入size大小和score分数就行了,这次做豆瓣直接就就用上了不用重复写代码.不过vue做单页应用全部挂 ...

  6. [Learn AF3]第二章 App Framework 3.0的组件View——AF3的驱动引擎

    View:af3中的驱动引擎   组件名称:View     使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...

  7. iOS 两个App之间调起通信

    前言 假设需求是这样的:由一个app1跳转到app2之后,app2完成某项任务之后,怎么把app2的完成信息传到app1(自己的程序是app1),传的是什么类型的数据,怎么进行解析? 逻辑 本文章使用 ...

  8. iOS中两个APP之间的跳转和通信

    app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...

  9. 第一个app.总结

    前记: 最近想整点外快,但是又没啥子技术,唉,学了一下android,想写点游戏啥的,,唉,可惜,美工,UI始终不行,代码也勉勉强强... 不过总的来说也是收获参半吧,也是有一些新的知识学到了嘛,至少 ...

随机推荐

  1. Microsoft.Extensions.DependencyInjection 之三:反射可以一战(附源代码)

    目录 前文回顾 IServiceCallSite CallSiteFactory ServiceProviderEngine CompiledServiceProviderEngine Dynamic ...

  2. 【原创】基于.NET的轻量级高性能 ORM - TZM.XFramework 之优雅增删改

    [前言] 大家好,我是TANZAME.出乎意料的,我们在立冬的前一天又见面了,天气慢慢转凉,朋友们注意添衣保暖,愉快撸码.距离 TZM.XFramework 的首秀已数月有余,期间收到不少朋友的鼓励. ...

  3. MySQL的sleep函数的特殊特现象

      MySQL中的系统函数sleep,实际应用的场景不多,一般用来做实验测试,昨天在测试的时候,意外发现sleep函数的一个特殊现象.如果在查询语句中使用sleep函数,那么休眠的时间跟返回的记录有关 ...

  4. Ubuntu18.04 安装MySQL(Linux)解决登陆权限问题及Navicat for mysql 中文乱码问题

    一.MySQL(Linux)解决登陆权限问题 Ubuntu18.04 安装mysql或者mariadb之后,发现普通用户和远程都没有权限连接. ERROR 1045: Access denied fo ...

  5. [考试反思]1029csp-s模拟测试92:弱智

    我只能这么评价我自己. 看这个提交时间...我没话可说... T1半个世界都A了还是切不掉.又一次挂细节. T2不会证明的乱搞(虽然可以证明)A了没什么可说的算是水过. T3之前水过的题(打的次正解) ...

  6. 手把手教你定制标准Spring Boot starter,真的很清晰

    写在前面 我们每次构建一个 Spring 应用程序时,我们都不希望从头开始实现具有「横切关注点」的内容:相反,我们希望一次性实现这些功能,并根据需要将它们包含到任何我们要构建的应用程序中 横切关注点 ...

  7. 奇怪的道路——状压DP

    题目描述 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外. 考古学家已经知道,这个文明在全盛时期有n座城市,编号为1..n.m条道路连接在这些城市之间,每条道路将两个 ...

  8. 关于Python中的yield的理解

    生成器:yield表达式构成的函数就是生成器:每一个生成器都是一个迭代器(但是迭代器不一定是生成器).return就是迭代器: yield的功能类似于return,不同之处在于它返回的是生成器. 什么 ...

  9. SAP HCM 评估路径

    一.评估路径的配置方法: 1)IMG菜单路径:人事管理-〉组织管理-〉基本设置-〉维护评估路径:   2)首先定义评估路径的名称和描述,客户自定义的评估路径的名称编码可以采用字母数字编码,最大长度是八 ...

  10. windows,linux安装redis

    windows安装redis   Redis介绍 Redis是什么 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string.list ...