簡體   English   中英

是否可以從 django 的下拉列表中的選項中獲取值?

[英]Is it possible to get the value from an option in the drop down list in django?

所以目前我正在通過我注冊到 django 管理站點的 model 添加新數據,其中 model 包含 3 個文本字段(電子郵件、國家/地區、電話號碼)。 我還在使用 PyPI 的電話號碼 package 進行電話號碼驗證,以驗證輸入的號碼是否存在或格式錯誤。 但是,為了進行此驗證,我需要將國家/地區文本字段(例如美國)中的文本作為參數解析到驗證代碼中,以了解該數字是真實的還是虛假的,目前我可以傳遞文本,但用戶會必須輸入“美國”,而不是從國家列表中選擇,例如從下拉列表中選擇。 我想通過實施一個下拉列表來改進這種格式,用一個國家列表替換當前國家文本字段到 select 從但是當用戶選擇國家美國時,它應該在前端顯示“美國”在下拉列表中,但值,如 html 上下文應該是“美國”,我想改為將“美國”解析到后端進行驗證,但仍顯示“美國”字樣供用戶查看。 我目前不知道如何實現這一點以及是否可以從下拉列表中獲取值。 請告訴我這是否可能或我應該考慮的任何其他方法。

為此,您需要使用國家/地區的短代碼向數據庫中添加其他字段。

例如,您可以使用ForeignKey而不是CharField到名為Country的新 model 。

這個國家可以這樣實現:

class Country(models.Model):
    name = models.CharField(max_length=256)
    code = models.CharField(max_length=2)

    def __str__(self):
        return self.name

或者您可以使用Django 國家 package ,其中包括所有國家、它們的代碼和標志(因此您可以顯示國家標志而不是代碼)。 如果您不需要所有國家/地區列表,您可以在此處指定它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM