django最简单表单入门
两个html页面,存放于某个应用下的templates文件夹下。
index.html
点击“提交”按钮后,会调入第二个页面hello.html显示文本框的内容
原理是通过form的action调用相应的方法执行操作
index.html代码如下:
<form action="/ok/" method="POST">
<input type="text" name="q">
<button type="submit">提交</button>
</form>
动作"/ok/" 其实是调用views.py中‘ok'方法
views.py代码如下:
from django.shortcuts import render_to_response def index(req): return render_to_response('index.html') def ok(req): x=req.POST['q'] return render_to_response('hello.html',{'val':x})
第一个index方法是调入首页
第二个ok方法是处理表单的。通过req.POST['q']方法取得name值为'q'的文本框的值,赋值给变量x,
再将此值传给模板变量val,在页面上显示。
还要把ok方法添加到url映射中去
urls.py的代码如下:
urlpatterns = [ url(r'^app1/','app1.views.index'), url(r'^ok/','app1.views.ok'),
第二个页面的代码:
<html> 你提交的内容是:{{ val }} </html>
如果出现错误的话,就在第一个页面代码中加下
{% csrf_token %} 好像是防止攻击什么的。
天街小雨润如酥,草色遥看近却无
最是一年春好处,绝胜烟柳满皇都
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
· AES 加密模式演进:从 ECB、CBC 到 GCM 的 C# 深度实践
· InnoDB为什么不用跳表,Redis为什么不用B+树?
· 记一次 C# 平台调用中因非托管 union 类型导致的内存访问越界
· [EF Core]聊聊“复合”属性
· 那些被推迟的 C# 14 特性及其背后的故事
· 博客园出海记-开篇:扬帆启航
· 记一次 .NET 某汽车控制焊接软件 卡死分析
· 关于布尔类型的变量不要加 is 前缀,被网友们吐槽了,特来完善下
· C#中的多级缓存架构设计与实现深度解析
· 技术人日常避坑手册:高效工作,少踩坑