Django:如何用按钮值填充 Charfield

问题描述 投票:0回答:1

我正在构建一个简单的 python Web 应用程序,它堆叠 2 个表。

首先,两个表的列都作为按钮列出在页面顶部(我们称之为

column buttons
)。

接下来我们有输入字段行(有2个输入),

Input 1
--> 要堆叠的列,以逗号分隔。
Input 2
--> 输出表的列名称。即每一行代表一个列组合。

到这里为止我都很好。

挑战:我想在单击相应的

Input 1
时自动填充
column buttons
(使用列名称)。而不是手动输入

我还无法在 Django 中找到实现此目的的选项。非常感谢提前

python django django-models
1个回答
0
投票

假设您的表有一个 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>

希望这对您有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.