我正在构建一个简单的 python Web 应用程序,它堆叠 2 个表。
首先,两个表的列都作为按钮列出在页面顶部(我们称之为
column buttons
)。
接下来我们有输入字段行(有2个输入),
Input 1
--> 要堆叠的列,以逗号分隔。 Input 2
--> 输出表的列名称。即每一行代表一个列组合。
到这里为止我都很好。
挑战:我想在单击相应的
Input 1
时自动填充 column buttons
(使用列名称)。而不是手动输入
我还无法在 Django 中找到实现此目的的选项。非常感谢提前
假设您的表有一个 Django 模型,并且您将列名称传递给模板:
# models.py
from django.db import models
class YourModel(models.Model):
column1 = models.CharField(max_length=100)
column2 = models.CharField(max_length=100)
# ... other columns
您的看法:
# views.py
from django.shortcuts import render
from .models import YourModel
def your_view(request):
columns = [field.name for field in YourModel._meta.get_fields()]
return render(request, 'your_template.html', {'columns': columns})
在您的模板 (your_template.html) 中:
<!-- your_template.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Your Web App</title>
</head>
<body>
<!-- Column Buttons -->
{% for column in columns %}
<button onclick="fillInput('{{ column }}')">{{ column }}</button>
{% endfor %}
<!-- Input Fields -->
<form>
<label for="input1">Input 1:</label>
<input type="text" id="input1" name="input1">
<label for="input2">Input 2:</label>
<input type="text" id="input2" name="input2">
</form>
<script>
// Function to fill Input 1 with column names
function fillInput(columnName) {
var input1 = document.getElementById("input1");
input1.value += columnName + ',';
}
</script>
</body>
</html>
希望这对您有帮助!