python - Django 将输入数据从 HTML 文件传递到 python 脚本,然后将最终数据发送到另一个 HTML 文件
问题描述
我正在尝试在 Django 中构建一个简单的字典。在 home.html 文件中有一个表单,它要求用户输入一个单词。这个词应该在 python 脚本中“成为一个变量”,它需要它从 API 检索某些数据。
import json
import urllib.request
url = 'https://api.dictionaryapi.dev/api/v2/entries/en_US/' + user_input
response = urllib.request.urlopen(url)
result = json.loads(response.read())
final_word = str(result[0]['word']) + ' \n\n'
final_def = str(result[0]['meanings'][0]['definitions'][0]['definition']))
'user_input' 将是存储输入的变量
然后它应该传递从 API 获得的数据(在这种情况下final_word
,final_def
传递给另一个 HTML 文件 final.html
我不知道该怎么做。任何帮助表示赞赏。如果我需要添加一些代码,请发表评论。原谅我糟糕的英语。
解决方案
因此,如果您尝试在视图中执行此操作。假设你有两个模板
from django.shortcuts import render
import urllib.request
import json
def home(request): # your view name
if request.POST:
url = 'https://api.dictionaryapi.dev/api/v2/entries/en_US/' + request.POST['user_input']
response = urllib.request.urlopen(url)
result = json.loads(response.read())
context = {'word':result[0]['word'], 'meanings':result[0]['meanings']}
return render(request, 'output.html', context)
return render(request,'input.html')
这是一个使用
input.html的快速 html 模板
<html>
<form action="#" method="post">
{% csrf_token %}
<input type="text" name="user_input">
<button>Go</button>
</form>
</html>
和测试输出
output.html
<html>
<p>word: {{word}}</p>
<p>meaning: {{ meanings }}</p>
</html>
推荐阅读
- javascript - 是否应该缩小仅由用户脚本使用的库?
- php - PHP:确定十几个变量中的任何一个是否具有特定值
- javascript - 绑定点击功能不适用于ajax内容刷新
- azure - 天蓝色容器和托管磁盘
- php - PHP OAuth 2.0 授权 API 和 .NET 资源 API
- java - 关于 Jaxrpc jar
- javascript - selectedIndex 不适用于 mat-tab-nav-bar 角度材料选项卡
- dialog - 电子:文件对话框窗口应该集中直到决定
- environment-variables - Why the contents of environ in the /proc file system differs from what extern environ pointed to?
- reactjs - 监视在 componentDidMount 中调用的方法