Как проверить наличие дублированного пользовательского ввода в форме Python / HTML? - PullRequest
0 голосов
/ 05 мая 2019

Я строю систему хранения файлов, используя Google App Engine. Каждый пользователь может войти в систему и создать каталоги (строки) для своих учетных записей, используя форму HTML. Я пытался запретить пользователю добавлять два каталога с одинаковым именем, но я не могу заставить его работать.

Вот моя форма в HTML:

<form action="/" method="post">
            Add a Directory: <input type="text" name="dir1"/><br/>
            <input type="submit" name="button" value="Add Directory"/>
        </form>
        <br/>
        {% for i in directories %}
        Directory Name:{{ i.dir1 }}<br/>
        <br/>
        <form action="/" method="post">
            <input type="hidden" name="index" value="{{ loop.index - 1 }}"/>
            <input type="submit" value="Delete" name="button"/>
        </form>
        {% endfor %}

А вот мой код Python, в котором я считаю, что проверка должна быть сделана:

 def post(self):
        self.response.headers['Content-Type'] = 'text/html'
        action = self.request.get('button')
        if action == 'Add Directory':
            dir1 = self.request.get('dir1')
            user = users.get_current_user()
            myuser_key = ndb.Key('MyUser', user.user_id())
            myuser = myuser_key.get()
            new_directory = Directory(dir1=dir1)
            myuser.directories.append(new_directory)
            myuser.put()
            self.redirect('/')

1 Ответ

0 голосов
/ 06 мая 2019

В вашей функции Python вы можете использовать метод ndb get_or_insert , который извлекает сущность, если указанный ключ уже существует, или создает ее, если ее нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...