我的模板之一中有以下代码。
<html>
<body>
<script>
var val1 = 10;
var val2 = 20;
</script>
<a href="/generate/">Generate</a>
</body>
</html>
我希望在views.py 文件的generate
函数中使用值val1 和val2。事情大概是这样的。
def generate(request):
# do something with val1 and val2
我不知道如何将这些值传递给函数。最佳实践是什么?我应该尝试通过 URL 参数检索信息吗?或者也许我应该删除 Javascript 并直接在 generate()
函数中用 Python 执行所有操作?
感谢您的帮助!
最佳答案
您需要应用 HTTP 方法,例如 GET 或 POST。
在 View 模板中使用此代码(示例 - index.html
):
<html>
<body>
<form method="post" action="/generate">
{% csrf_token %}
<input type="number" name="val1" value="10">
<input type="number" name="val2" value="20">
<input type="submit" value="generate">
</form>
</body>
</html>
并在views.py
中使用此代码:
def index(request):
return render_to_response('index.html', RequestContext(request))
def generate(request):
val1 = request.POST.get('val1', 0)
val2 = request.POST.get('val2', 0)
sum = val1 + val2
return HttpResponse(str(sum))
此链接对您有帮助:https://docs.djangoproject.com/en/dev/topics/forms/
关于javascript - 将 URL 参数传递给 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606974/