python - 是否可以从 django 下拉列表中的选项中获取值?
问题描述
所以目前我正在通过我注册到 django 管理站点的模型添加新数据,该模型由 3 个文本字段(电子邮件、国家、电话号码)组成。我还在使用 PyPI 的 phonenumbers 包进行电话号码验证,以验证输入的号码是否存在或格式错误。但是,为了进行此验证,我需要将国家/地区文本字段(例如美国)中的文本作为参数解析到验证代码中,以了解该数字是真实的还是虚假的,目前我可以传递文本,但用户会必须输入“美国”,而不是从国家列表中选择,例如从下拉列表中选择。我想通过实现一个下拉列表来改进这种格式,用一个可供选择的国家列表替换当前的国家文本字段,但是当用户选择国家美国时,它应该在前端显示“美国”在下拉列表中,但值,如在 html 上下文中应该是“US”,我想改为将“US”解析到后端进行验证,但仍显示“United States”字样供用户查看。我目前不知道如何实现这一点以及是否可以从下拉列表中获取值。请告诉我这是否可能或我应该考虑的任何其他方法。我想改为将“美国”解析到后端进行验证,但仍显示“美国”字样供用户查看。我目前不知道如何实现这一点以及是否可以从下拉列表中获取值。请告诉我这是否可能或我应该考虑的任何其他方法。我想改为将“美国”解析到后端进行验证,但仍显示“美国”字样供用户查看。我目前不知道如何实现这一点以及是否可以从下拉列表中获取值。请告诉我这是否可能或我应该考虑的任何其他方法。
解决方案
为此,您需要使用国家/地区的短代码向数据库中添加其他字段。
例如,CharField
您可以使用ForeignKey
名为Country
.
这个国家可以这样实现:
class Country(models.Model):
name = models.CharField(max_length=256)
code = models.CharField(max_length=2)
def __str__(self):
return self.name
或者您可以使用Django Country 包,其中包括所有国家、它们的代码和标志(因此您可以显示国家标志而不是代码)。如果您不需要所有国家/地区列表,您可以在此处指定它们。
推荐阅读
- python - 如何将图像文件从 URL 转换为 scikit-learn 中可用于执行多元线性回归的格式
- textures - WebGL2 -- How to store and retrieve 3D texture data needed by 3D grid of vertices to calculate new vertex positions
- python - matplotlib 命令可以移动绘图(光栅图像)的坐标吗?
- reactjs - 搜索框过滤不返回搜索结果-React+ react-table+ filter
- angular - 角度测试台测试路线找不到模块
- python - 我知道我写这个 for 循环是错误的,那么我该如何正确写它才能接受多个字母呢?
- c++ - UB 取消引用联合数组时
- javascript - 有没有办法将 AWS Athena 查询编程为每 15 分钟运行一次?
- python-3.x - 打印熊猫数据框时如何抑制“dtype”行?
- cors - 访问 http://localhost:65418/api/stripe 已被 CORS 策略阻止