如何从django中将文本框中输入的值以文本格式传递给flask?

wi3ka0sx  于 2023-03-04  发布在  Go
关注(0)|答案(2)|浏览(96)

我是django和flask的初学者。我想把输入到textbox的值从django传递到flask。
views.py

from django.shortcuts import render
import requests

# Create your views here.

def form(request):
    return render(request,'hello/index.html')

超文本标记语言文件

<!DOCTYPE html>
<html>
<body>

  <form action="output">
    
    Enter name: <br/>
    <input type="text" name="name"> <br/>
  
    <input type="submit" ><br/>
  
</form>
  
</body>
</html>

flask

app = Flask(__name__)

@app.route('/')
def index():
     
     return "hello" 
     
if __name__ == '__main__':
    app.run(debug=True)

在 flask 中我应该得到在django文本框中输入的值....

0ve6wy6x

0ve6wy6x1#

更改html中的表单标记为:

<form method="GET" action="output">

将www.example.com中的网址模式更改urls.py为:

path('output', views.output ,name ='output'),

在www.example.com中添加以下内容views.py:

def output(request):
    data = request.GET['name']
    return render(request, 'hello/**any template**.html',{'data' : data})

这将传递一个变量数据给你的index.html现在你可以在任何jinja模板中使用它.

lx0bsm1f

lx0bsm1f2#

我已经找到了这个问题的解决方案,但我想知道是否有其他方法来传递数据。
views.py

from django.shortcuts import render
import requests

# Create your views here.

def form(request):
    return render(request,'hello/index.html')

def output(request):
    name1=request.GET["name"]
    if not name1:
        name1=0
    response = requests.get('http://127.0.0.1:5000/'+str(name1)).json()
    #name = response.text
    return render(request, 'hello/index.html', {'out': response['out']})

超文本标记语言文件

<!DOCTYPE html>
<html>
<body>

  <form action="output" method="GET">
    
    Enter name: <br/>
    <input type="text" name="name"> <br/>
  
    <input type="submit" ><br/>
  
</form>
<div>
  {{out}}
</div>
  
</body>
</html>

砂箱锉

from flask import Flask,jsonify
app = Flask(__name__)
@app.route('/<name>',methods=['GET'])
def index(name):
     return jsonify({'out' : "Hello"+  " "+str(name)})
if __name__ == '__main__':
    app.run(debug=True)

相关问题