Как сделать выпадающий список, который может отправлять данные в Django (в Models) с помощью Kivymd?
Я нашел рецепт, как сохранить результаты в переменную, используя инструкции в документации KivyMD, но некоторые коды, представленные там, не работают в моем редакторе. Итак, используемые мной версии: «python 3.11», „kivymd версии 1.2.0“ и модуль MDDropDownItemText, который мне нужно использовать, не включен в kivymd. По этой причине я не могу присвоить элементам специальные идентификаторы и сохранить выбранные значения в переменную. Что здесь можно сделать?
Моей целью было записать, является ли пользователь мужчиной или женщиной, в модели, которую я создал в Django. И я подумал, что смогу сделать это, передав результат из выпадающего списка в переменную. Я попытался следовать инструкциям в документации Kivymd, но столкнулся с результатами, о которых я говорил выше. Документация KivyMD: text
Этот вопрос возник из-за того, что я искал не в том месте. Я оставляю его ниже, чтобы кто-то мог удовлетворить свои потребности (на всякий случай).
from kivy.lang import Builder
from kivy.metrics import dp
from kivymd.app import MDApp
from kivymd.uix.menu import MDDropdownMenu
KV = '''
MDScreen:
MDRaisedButton:
id: button
text: "Press me"
pos_hint: {"center_x": .5, "center_y": .5}
on_release: app.menu_open()
'''
class Test(MDApp):
def menu_open(self):
menu_items = [
{
"text": f"Item {i}",
"on_release": lambda x=f"Item {i}": self.menu_callback(x),
} for i in range(5)
]
MDDropdownMenu(
caller=self.root.ids.button, items=menu_items
).open()
def menu_callback(self, text_item):
print(text_item)
def build(self):
self.theme_cls.primary_palette = "Orange"
self.theme_cls.theme_style = "Dark"
return Builder.load_string(KV)
Test().run()
Более подробные данные содержатся в документации: введите описание ссылки здесь