Djangoday2第二个app加减法
新建一个app
在view定义显示的内容
修改urls指定连接对应的视图
测试
另一种通过路径传参的方式
访问网址路径传参的urls定义方法
网址路径传参测试
urls的urlname
django如何实现跳转
第二个app 计算
新建一个app
python manage.py startapp jisuan

在view定义显示的内容
加法 通过get请求进行获取数值
from django.shortcuts import render
from django.http import HttpResponse
def add(request):
a = request.GET['a'] #获取a 默认0
b = request.GET['b']
c = int(a)+int(b)
return HttpResponse(str(c)) #显示c

修改urls指定连接对应的视图
导入app下的视图
路径下引入
from jisuan import views as jisuan_views
urlpatterns = [
path('admin/', admin.site.urls),
path('learn/', learn_views.index),
path('jisuan/add/', jisuan_views.add),
]

测试
启动项目
python manage.py run server
访问
http://127.0.0.1:8000/jisuan/add/?a=66&b=888
#get请求获取参数 必须有两个参数 使用?变量名=值&拼接

另一种通过路径传参的方式
在视图内定义乘法
# 通过路径传参
def mul(repuest,a,b):
c=int(a)*int(b)
return HttpResponse(str(c))
访问网址路径传参的urls定义方法
path('jisuan/mul/<int:a>/<int:b>/',jisuan_views.mul),
网址路径传参测试
启动项目
python manage.py run server
访问
http://127.0.0.1:8000/jisuan/mul/4/5/

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

简单说,name 可以用于在 templates, models, views ……中得到对应的网址,相当于“给网址取了个名字”,只要这个名字不变,网址变了也能通过名字获取到。
- 创建template目录,并在目录下创建jisuanindex.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Luckyness</title>
</head>
<body>
<a href="/mul/4/5/">计算 4*5</a>
***************
<a href="{% url 'mul' 4 5 %}">计算 4*5 使用urlname引用 </a>
</body>
</html>
- 如果网页内的所有url都写死了的话,以后url需要修改,那么就需要对html页面进行很多修改,所以要使用urlname,给urls内的链接起一个别名,方便以后的修改
不带参数的:
{% url 'name' %}
带参数的:参数可以是变量名
{% url 'name' 参数 %}
例如:
<a href="{% url 'add2' 4 5 %}">link</a>
- 将html引入网站 render渲染模板
django如何实现跳转
例如某个链接网址变更,但是用户收藏的旧网址
通过在views写一个跳转函数来实现
from django.http import HttpResponseRedirect
from django.urls import reverse
def add2mul(request,a,b):
return HttpResponseRedirect(
reverse('mul',args=(a,b))
)
在urls内增加
path('add/<int:a>/<int:b>/',jisuan_views.add2mul,name='tiaozhuan')
前端添加一个这样的链接
<a href="/add/4/5/">我的链接本来是/add/4/5/</a>
点击可以跳转到求积







Djangoday2第二个app加减法的更多相关文章
- Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查
本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...
- 我的第二个app上线:术购管家
忙了两周写完的app,终于发布了,可是等上线竟然等了两周多,今天终于上线了,一路顺畅,没有被打回过...
- 第二个App“今日美文”上架【原】
App store 下载地址 开发这个App的本意 之前偶然找到一个叫<每日一文>的应用,正是我一直想找的,优点如下: 界面够简单 推荐的文章也很好,而且都不太长 每天都不一样 但是用起来 ...
- 第二章App框架设计与重构
response标准格式: { "isError":false, "errorType": 0, "errorMessage": " ...
- vue做的第二个app
用vue做应用最好的还是组件的复用上次做饿了吗的app封装了一个评分star的组件只要引入组件传入size大小和score分数就行了,这次做豆瓣直接就就用上了不用重复写代码.不过vue做单页应用全部挂 ...
- [Learn AF3]第二章 App Framework 3.0的组件View——AF3的驱动引擎
View:af3中的驱动引擎 组件名称:View 使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...
- iOS 两个App之间调起通信
前言 假设需求是这样的:由一个app1跳转到app2之后,app2完成某项任务之后,怎么把app2的完成信息传到app1(自己的程序是app1),传的是什么类型的数据,怎么进行解析? 逻辑 本文章使用 ...
- iOS中两个APP之间的跳转和通信
app间的跳转 一:在第一个app首先要做下面这些操作: 1.在info.plist文件中的Information Property List下添加一项:URL types. 2.点开URL type ...
- 第一个app.总结
前记: 最近想整点外快,但是又没啥子技术,唉,学了一下android,想写点游戏啥的,,唉,可惜,美工,UI始终不行,代码也勉勉强强... 不过总的来说也是收获参半吧,也是有一些新的知识学到了嘛,至少 ...
随机推荐
- spring cloud 2.x版本 Zuul路由网关教程
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...
- Vue中Form表单验证无法消除验证问题
iView的表单api给出了一个resetFields方法,用于重置整个表单输入的内容并清除验证提示. 但是有时候需要只消除部分的iview的resetFields方法源码是这样的resetField ...
- 学习笔记31_ORM框架ModelFirst设计数据库
ModelFirst就是先设计实体数据类型,然后根据设计的数据类型,生成数据库表 1.新建项--ADO.NET实体数据模型--空数据模型--进入模型设计器(点击xxx.edmx文件也能进入设计器). ...
- Numpy 中的聚合操作
# 导包 import numpy as np sum np.random.seed(10) L = np.random.random(100) sum(L) np.sum(L) min np.min ...
- NFS共享目录
NFS(Network Files System)即网络文件系统 NFS文件系统协议允许网络中的主机通过TCP/IP协议进行资源共享,NFS客户端可以像使用本地资源一样读写远端NFS服务端的资料,需要 ...
- 使用CBrother的CLIB库调用windows的API
使用CBrother的CLIB库调用windows的API 2.1.0版本CBrother加入了CLib库,最新需要写一个工具,根据路径查杀一个Windows进程,研究了一下,CLib库的用法,感觉还 ...
- Mysql 开启远程连接服务
Mysql 开启远程连接服务 修改要远程访问的那个用户的 host 为 % use mysql; insert into user (host, user, password) values('%', ...
- 用安全密钥验证ssh
1.需要打开两台虚拟机,并保证两台虚拟机可以ping通: 本地主机IP:192.168.8.120 远程主机IP:192.168.8.100 2.在本地主机生成密钥对,输入命令“ssh-keygen” ...
- 查找文件或目录(find、locate、whereis、which、whatis)
find命令:可以按文件名.文件的类型.用户等条件来递归查找文件或目录 find [路径] [匹配表达式] ,常用选项如下 -name filename 按文件名 -user username ...
- vim光标移动、跳转
这里记载我用到并需要下次会用的vim快捷键 vim的三个模式:命令行模式.插入模式.底行模式 从命令模式到插入模式: a 光标后输入 A 行尾输入 i 光标前输入 I 行首输入 o 上一行输入 O 下 ...