djanjo 使用a标签跳转_django实现a标签跳转页面,并在跳转的页面填写表单后传递给后端。...
需求:在网站前端操作数据库(例如学生管理系统)的时候,经常会遇到对数据表的增删改查功能,在增加功能中,就经常会遇到一个a标签链接到新的网页,填写表单数据然后传递给后端,在后端进行获取数据后再在数据库中进行操作。下面介绍两种方式实现这种模式:方法一:1、先在django中的url中配置路由url中设置路由:urlpatterns = [path('admin/', admin.site.urls),
需求:
在网站前端操作数据库(例如学生管理系统)的时候,经常会遇到对数据表的增删改查功能,在增加功能中,就经常会遇到一个a标签链接到新的网页,填写表单数据然后传递给后端,在后端进行获取数据后再在数据库中进行操作。
下面介绍两种方式实现这种模式:
方法一:
1、先在django中的url中配置路由
url中设置路由:
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.classes),
path('add/',views.add),
path('addd/',views.addd)
]
2、前端html中写入添加
3、在点击前端的a链接后就会跳转到一个新的页面,新的跳转页面中写入表单
其中的action="/addd/"是关键,通过它来讲提交的数据重新到addd路由当中,由addd路由对应的views.addd函数来配置,最终完成跳转到主页路由中,如下代码:
4、views中写入
def add(request):
return (render(request,'add.html'))
def addd(request):
print(request.POST.get('add'))
return (redirect('/'))
方法二、
像上述方法这样写当然也是可以的,只是会比较傻,因为,后续我们的操作可能有n中这样的操作,每个都这样写,会增加极多的函数,如下介绍一种新的方式。
前述:
因为a标签跳转路由的方式是GET,而提交表单的方式我们可以设置为post方式,这样的话,只需要一个路由即可。如下
1、先配置路由
urlpatterns = [
path('admin/', admin.site.urls),
path('',views.classes),
path('add/',views.add),
]
2、Views中的函数改为:
def add(request):
if request.method=='GET':
return (render(request,'add.html'))
else:
print(request.POST.get('add'))
v=request.POST.get('add')
return (redirect('/'))
这是因为a属性链接跳转页面的路由方式是以GET方式跳转,而提交表单的方式是POST,两种不同的方式,我们就可以利用这个来进行if判断,
最终完成工作,跳转的页面工作交给我们的views后端来跳转
3、在点击前端的a链接后就会跳转到一个新的页面,新的跳转页面中写入表单
千万要注意的是这里的action="/add/"因为渲染后要跳转到这个界面进行提交表单操作
如果这里的action写成‘/’,那么views函数就直接走
if request.method=='GET':
return (render(request,'add.html'))
不会获取到前端的参数
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)