That username is already taken please choose another

That username is already taken please choose another

Эй, кто-нибудь может сказать мне, что я делаю неправильно в моем коде? Я хочу проверить, есть ли имя пользователя в базе данных или нет.

Весь маршрут. Это не даст мне никаких ошибок, но также не заполнит мою базу данных.

3 ответа

Во-первых, я думаю, что у меня есть пример рабочего кода для исходной задачи. Тем не менее, я думаю, что вы можете решить эту проблему с дублированием пользователей лучше, используя ограничения в базе данных. Смотрите в нижней части моего ответа.

Сначала давайте проверим текущий код. Есть несколько проблем, которые я вижу здесь:

В текущем коде блок try/finally в строке 6 должен быть смещен еще на один, чтобы можно было использовать соединение, установленное соединением, установленным в операторе with в строке 4.

Поскольку код в настоящее время не работает, соединение будет закрыто к тому времени, когда оно используется, поэтому весь доступ к базе данных не удастся.

Вот что я получил из оболочки Python, чтобы показать, что я имею в виду:

Вместо этого, чтобы проверить, возвращает ли оператор select значение, используйте fetchone и посмотрите, возвращает ли он None :

Я думаю, что-то вроде этого может работать:

Альтернативный подход

Более надежный подход позволил бы базе данных взять на себя ответственность за предотвращение дублирования пользователей.

Сделайте name столбец unique при создании таблицы. Затем вставка записи с тем же именем пользователя вызовет исключение. Возьмем пример из sqlite3 документов. :

Сделайте одну функцию, которая проверяет имя пользователя и адрес электронной почты уже в базе данных или нет.

DATAENGINER

That username is already taken please choose another. Смотреть фото That username is already taken please choose another. Смотреть картинку That username is already taken please choose another. Картинка про That username is already taken please choose another. Фото That username is already taken please choose another

Зачастую системный администратор должен быстро реагировать, на какие то проблемы с ресурсами, которые он администрирует. Поэтому многие администраторы создают чат боты, куда и будут поступать оповещения. А так как на сегодняшний момент один из популярных мессенджеров считается телеграмм, то мы создадим чат бота для нашей системы оповещения в телеграмм.

Регистрируем своего бота Telegram в BotFather

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

Бот называется BotFather и так как это ник нейм, то мы указываем перед именем бота @ и получаем «@BotFather».

That username is already taken please choose another. Смотреть фото That username is already taken please choose another. Смотреть картинку That username is already taken please choose another. Картинка про That username is already taken please choose another. Фото That username is already taken please choose another

Далее в диалоге с ботом нажмем кнопку запустить.

That username is already taken please choose another. Смотреть фото That username is already taken please choose another. Смотреть картинку That username is already taken please choose another. Картинка про That username is already taken please choose another. Фото That username is already taken please choose another

В ответ бот нам выведет список команд, для работы с ним:

Представленные команды и описания к ним будут выведены на английском языке. Мы пришли создать нового бота, поэтому нас интересует команды «/newbot». В ответ на данную команду BotFather спросит нас о имени нашего бота Telegram.

That username is already taken please choose another. Смотреть фото That username is already taken please choose another. Смотреть картинку That username is already taken please choose another. Картинка про That username is already taken please choose another. Фото That username is already taken please choose another

Укажем любое произвольное имя. Я дал имя TestBot. Теперь нам предстоит придумать уникальный идентификатор, если мы не придумаем уникальный идентификатор мы не сможем продолжить регистрацию Telegram бота. Так же идентификатор Telegram бота должен содержать обязательное окончание «bot», например Bot или bot.

Если ваш идентификатор не уникален, то вы получите сообщение «Sorry, this username is already taken. Please try something different.»

That username is already taken please choose another. Смотреть фото That username is already taken please choose another. Смотреть картинку That username is already taken please choose another. Картинка про That username is already taken please choose another. Фото That username is already taken please choose another

Укажу уникальное exampledataenginer_bot.

That username is already taken please choose another. Смотреть фото That username is already taken please choose another. Смотреть картинку That username is already taken please choose another. Картинка про That username is already taken please choose another. Фото That username is already taken please choose another

После этого BotFather пришлет нам уникальный токен нашего бота и ссылку на документацию. Сохраним данный token для дальнейшей работы.

Переводы пользователей

Добавлены профессиональными переводчиками и компаниями и на основе веб-страниц и открытых баз переводов.

Английский

Русский

Информация

Английский

username is already taken, please choose another

Русский

Имя пользователя уже занято, пожалуйста, выберите другой

Последнее обновление: 2016-02-18
Частота использования: 4
Качество:
Источник: Анонимно

Английский

username is already taken

Русский

логин уже занят

Последнее обновление: 2022-04-30
Частота использования: 1
Качество:
Источник: Анонимно

Английский

the rule name is already assigned, please choose another name:

Русский

Правило с таким названием уже есть. Укажите другое название:

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

name already exists! please choose another name

Русский

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

name already in use. please choose another one.

Русский

Это имя уже занято. Выберите другое.

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

that name already exists, please choose another name.

Русский

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

nickname already in use. please choose another one

Русский

Это имя уже занято. Выберите другое

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

please choose another key

Русский

Выберите другое имя для свойства

Последнее обновление: 2020-11-06
Частота использования: 1
Качество:
Источник: Анонимно

Английский

please choose another name

Русский

Выберите другое имя

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

please choose another nation

Русский

Выберите другую нацию

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

there is already a share with the name %1. please choose another name.

Русский

Общий ресурс с именем% 1 уже существует. Выберите другое имя.

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

the device «%1» already exists. please choose another name.

Русский

Устройство «% 1» уже существует. Укажите другое имя!

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно
Предупреждение: Содержит скрытое HTML-форматирование

Английский

another tag with the same name already exists. please choose another name.

Русский

Метка с таким именем уже существует Введите другое имя

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

empty name. please choose another one.

Русский

Пустое имя. Выберите другое.

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

the seat is already taken,’

Русский

Место уже занято».

Последнее обновление: 2018-02-21
Частота использования: 1
Качество:
Источник: Анонимно
Предупреждение: Содержит скрытое HTML-форматирование

Английский

another album with the same name already exists. please choose another name.

Русский

Альбом с таким названием уже существует Введите другое название

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

this file does not exist, please choose another.

Русский

Этот файл не существует. Выберите существующий файл.

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

failed to register new account: the requested username is already taken.

Русский

Не удалось создать учётную запись: выбранное имя пользователя уже используется.

Последнее обновление: 2011-10-23
Частота использования: 1
Качество:
Источник: Анонимно

Английский

thanks for the translation. but please choose another flag!

Русский

Спасибо за перевод. Но, пожалуйста, выбери другой флаг!

Последнее обновление: 2014-02-01
Частота использования: 1
Качество:
Источник: Анонимно

Английский

please choose another payment method should your payment fail again

Русский

Пожалуйста, выберите другой способ оплаты, если снова не удастся осуществить платеж

Последнее обновление: 2020-11-06
Частота использования: 1
Качество:
Источник: Анонимно

Получите качественный перевод благодаря усилиям
4,401,923,520 пользователей

Сейчас пользователи ищут:

MyMemory — крупнейшая в мире память переводов. Она была создана на основе систем памяти переводов Европейского Союза, Организации Объединенных Наций и ведущих специализированных многоязычных сайтов из разных отраслей.

Мы относимся к Translated, так что, если вам нужны услуги профессионального перевода, посетите наш основной сайт.

Results for username is already taken, please. translation from English to Russian

Human contributions

From professional translators, enterprises, web pages and freely available translation repositories.

English

Russian

English

username is already taken, please choose another

Russian

Имя пользователя уже занято, пожалуйста, выберите другой

Last Update: 2016-02-18
Usage Frequency: 4
Quality:
Reference: Anonymous

English

username is already taken

Russian

логин уже занят

Last Update: 2022-04-30
Usage Frequency: 1
Quality:
Reference: Anonymous

English

the rule name is already assigned, please choose another name:

Russian

Правило с таким названием уже есть. Укажите другое название:

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

name already exists! please choose another name

Russian

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

name already in use. please choose another one.

Russian

Это имя уже занято. Выберите другое.

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

that name already exists, please choose another name.

Russian

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

nickname already in use. please choose another one

Russian

Это имя уже занято. Выберите другое

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

please choose another key

Russian

Выберите другое имя для свойства

Last Update: 2020-11-06
Usage Frequency: 1
Quality:
Reference: Anonymous

English

please choose another name

Russian

Выберите другое имя

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

please choose another nation

Russian

Выберите другую нацию

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

there is already a share with the name %1. please choose another name.

Russian

Общий ресурс с именем% 1 уже существует. Выберите другое имя.

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

the device «%1» already exists. please choose another name.

Russian

Устройство «% 1» уже существует. Укажите другое имя!

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous
Warning: Contains invisible HTML formatting

English

another tag with the same name already exists. please choose another name.

Russian

Метка с таким именем уже существует Введите другое имя

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

empty name. please choose another one.

Russian

Пустое имя. Выберите другое.

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

the seat is already taken,’

Russian

Место уже занято».

Last Update: 2018-02-21
Usage Frequency: 1
Quality:
Reference: Anonymous
Warning: Contains invisible HTML formatting

English

another album with the same name already exists. please choose another name.

Russian

Альбом с таким названием уже существует Введите другое название

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

this file does not exist, please choose another.

Russian

Этот файл не существует. Выберите существующий файл.

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

failed to register new account: the requested username is already taken.

Russian

Не удалось создать учётную запись: выбранное имя пользователя уже используется.

Last Update: 2011-10-23
Usage Frequency: 1
Quality:
Reference: Anonymous

English

thanks for the translation. but please choose another flag!

Russian

Спасибо за перевод. Но, пожалуйста, выбери другой флаг!

Last Update: 2014-02-01
Usage Frequency: 1
Quality:
Reference: Anonymous

English

please choose another payment method should your payment fail again

Russian

Пожалуйста, выберите другой способ оплаты, если снова не удастся осуществить платеж

Last Update: 2020-11-06
Usage Frequency: 1
Quality:
Reference: Anonymous

Get a better translation with
4,401,923,520 human contributions

Users are now asking for help:

MyMemory is the world’s largest Translation Memory. It has been created collecting TMs from the European Union and United Nations, and aligning the best domain-specific multilingual websites.

We’re part of Translated, so if you ever need professional translation services, then go checkout our main site

Hey can anyone tell me what I’m doing wrong in my code? I want to check whether an username is already in the database or not.

Whole Route. It wont give me any errors but also wont fill my database.

That username is already taken please choose another. Смотреть фото That username is already taken please choose another. Смотреть картинку That username is already taken please choose another. Картинка про That username is already taken please choose another. Фото That username is already taken please choose another

3 Answers 3

Trending sort

Trending sort is based off of the default sorting method — by highest score — but it boosts votes that have happened recently, helping to surface more up-to-date answers.

It falls back to sorting by highest score if no posts are trending.

Switch to Trending sort

First, I think I have a working code sample for the original problem. However, I think you can solve this duplicate user problem better using constraints within the database. See the bottom of my answer.

First let’s check the current code. There are a couple of issues I can see here:

In the current code, the try/finally block at line 6 needs to be indented one further in order to be able to use the connection established by the connection made in the with statement on line 4.

As the code currently stands, the connection will have been closed by the time it’s used, so all database access will fail.

Checking for a user

Here’s what I get from a python shell to show what I mean:

Instead, to check whether a select statement returns a value, use fetchone and see if it returns None :

I think therefore something like this might work:

Alternative approach

A more robust approach would be to let the database take responsibility for preventing duplicate users.

Make the name column unique when creating the table. Then inserting a record with the same username will throw an exception. Taking an example from the sqlite3 docs:

Источники информации:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *