python - 创建一个填写标准 Python + Django 代码中的字段的表单
问题描述
朋友们,我找了很多都找不到,所以我决定在这里问。
我需要在 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,它们将填充以下信息:
字段 1 = 姓名 字段 2 = 年龄 字段 3 = 性别
生成的骨架代码应如下所示:
@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 ** = []
有人可以给我一个如何制作的方法吗?
解决方案
如果我理解您的问题,类似以下的函数(由您的表单处理程序在验证后调用)可以让您了解如何做到这一点:
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))
推荐阅读
- c# - 回答并点击播放按钮后如何使问题一一显示
- c++ - 获取不带类别的 DirectShow 过滤器的显示名称
- html - div背景不跨越整个部分的问题
- java - ArrayList vs HashMap 时间复杂度
- javascript - 是否应该使用 web worker 来处理 css-in-js 中的样式渲染?
- java - locale.getDisplayName() 有时有效,有时无效
- swift - 如何从 alamofire 响应中获取任何类型的数组字段?
- unit-testing - 开玩笑:如何忽略特定测试的 __mocks__ 文件夹,而是使用我在测试文件中定义的模拟?
- java - 代码运行器在 mac 中找不到 java 文件
- amazon-web-services - Aws ACM - DNS 中 SSL 证书的验证如何工作