创建一个在标准Python+Django cod中填充字段的表单

2024-05-23 14:05:28 发布

您现在位置:Python中文网/ 问答频道 /正文

朋友们,我找了很多找不到,所以我决定在这里问

我需要在一个用Django(Python)制作的页面上创建一个表单,它将基于一个“骨架”Python代码创建一个文件,并且只更改我以粗体显示的特定字段并保存相同的字段

遵循代码“骨架”

@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    ** Field1 ** = []
@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    ** Field2 ** = []
@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    ** Field3 ** = []

我将创建一个包含以下字段的表单页面:Field1、Field2和Field3,它们将填充以下信息:

Field1=姓名Field2=年龄Field3=性别

生成的框架代码应如下所示:

@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    ** Name ** = []
@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    ** Age ** = []
@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    ** Sex ** = []

有人能告诉我怎么做吗


Tags: 代码text表单defrequired页面trackerlist
1条回答
网友
1楼 · 发布于 2024-05-23 14:05:28

如果我理解您的问题,下面这样的函数(在验证后由窗体处理程序调用)可以让您了解如何执行该操作:

from django.template import Template, Context


def make_skeleton(form_data):
    context = Context({'Name': form_data['Field1'], 'Age': form_data['Field2'], 'Sex': form_data['Field3']})
    template = Template('''
@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    {{ Name }} = []
@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    {{ Age }} = []
@staticmethod
def required_slots (tracker: Tracker) -> List [Text]:
    {{ Sex }} = []
''')
    with open('/path/to/skeleton.py', 'wt') as fobj:
        fobj.write(template.render(context))

相关问题 更多 >