В этой статье мы поговорим о входе в Flask на основе Python без базы данных. Чтобы использовать логин Flask без базы данных в этом методе, в основном мы используем словарь python, через который пользователи смогут входить в систему, используя свои учетные данные для входа, которые мы добавляем в базу данных, а также в этот логин будут добавлены функции выхода из системы. система на странице профиля, через которую пользователь может выйти из системы. перед этим мы поймем некоторые важные термины:
- render_template: в модуле render_template, который мы используем для вызова одного HTML -файла из папки шаблонов, он используется для отображения страницы входа в систему сначала на экране дисплея для импорта, мы используем следующую команду в файле app.py
- url_for: в модуле url_for, который мы используем для соединения двух файлов HTML друг с другом, здесь мы используем этот модуль для подключения входа на страницу профиля для импорта, мы используем следующую команду в файле app.py
Вход в Flask без базы данных
Templates File
Во-первых, мы создаем папку шаблонов для HTML-файлов. В папке шаблонов мы создаем два HTML-файла, один для входа в систему, а другой для страницы приветственного профиля. Итак, сначала мы создаем login.html для создания страницы входа.
login.html
Мы пишем код для страницы входа, в котором сначала пишем приветственное сообщение на странице входа, добавляем сообщение с подробностями, вводим имя пользователя и пароль, вызываем метод info для вызова мигающего сообщения об ошибке/предупреждении и делаем одно действие и один метод для системы входа перед подключением этого файла к файлу HTML. Если мы введем правильное имя пользователя и пароль, страница входа перенесет нас на страницу профиля пользователя; если мы введем неверную информацию, на странице входа будет отображаться предупреждение о неверном имени пользователя или пароле. Чтобы отправить это, мы добавляем одну кнопку отправки.
HTML
<!DOCTYPE html>
<
html
lang
=
"en"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>Login Page</
title
>
</
head
>
<
style
>
.gfg{
color: green;
}
.strong{
color: red;
}
</
style
>
<
body
>
<
h2
class
=
"gfg"
>Welcome To GFG Login ????</
h2
>
<
h3
class
=
"strong"
>{{info}} </
h3
>
<
form
action
=
"/form_login"
method
=
"post"
>
<
h2
></
h2
><
strong
>Username:</
strong
> <
br
>
<
input
type
=
"text"
name
=
'username'
><
br
>
<
strong
>Password:</
strong
><
br
>
<
input
name
=
'password'
><
br
><
br
>
<
input
type
=
"submit"
value
=
"Login"
>
</
form
>
</
body
>
</
html
>
Вывод:
Страница авторизации
home.html
Когда мы успешно войдем в систему, используя правильное имя пользователя и пароль, одно приветственное сообщение пользователя (имя пользователя) появится на экране дисплея в этом HTML-файле, и мы также пишем для одной кнопки выхода, используя которую мы можем перенаправить на страницу входа. Когда пользователь нажимает одну из наших кнопок, мы добавляем URL-адрес для тега (’login’), который вызывает функцию входа и направляет его на страницу входа.
HTML
<!DOCTYPE html>
<
html
lang
=
"en"
>
<
head
>
<
meta
charset
=
"UTF-8"
>
<
title
>Home</
title
>
</
head
>
<
style
>
.str{
color: Red;
font-weight: bold;
}
.btn{
font-size: large;
color: blue;
}
</
style
>
<
body
>
<
br
>
<
h1
>Welcome <
strong
class
=
"str"
>{{name}} ???? !</
strong
></
h1
>
<
a
class
=
"btn"
href
=
"{{url_for('hello_world')}}"
>Logout</
a
>
</
body
>
</
html
>
Вывод:
Страница профиля пользователя
app.py
Мы импортируем в файл app.py несколько библиотек, необходимых для системы входа. Мы импортируем шаблон рендеринга для вызова HTML-файла, и после инициализации функции flask мы создаем функцию hello world, которая позволяет нам вызывать файл login.html. Мы создаем функцию входа в систему, в которой мы делаем запрос на Python и вызываем имя пользователя и пароль из словаря, и мы создаем условие if и else, в котором мы пишем какое-то мигающее сообщение, которое покажет неправильный пароль и неправильное имя пользователя. Мы используем словарь для добавления сведений об имени пользователя и пароле пользователей для входа в систему, и мы можем добавлять и удалять пользователей, а также изменять пароль любого пользователя в любое время.
Python3
# import all libraries
from
flask
import
Flask, request, render_template
# initialize flask function
app
=
Flask(__name__)
# Make hello_world function
@app
.route(
'/'
)
def
hello_world():
return
render_template(
"login.html"
)
# add databse like login crediantls,
# username and password
database
=
{
'GeeksForGeeks'
:
'123'
,
'Abdul Kalam'
:
'xyz'
,
'Jony'
:
'abc'
,
'Tony'
:
'pqr'
}
# Make another function for login and we are
# making if and else condition for some
# situation like during wrong password wrong
# user and also for successful login
@app
.route(
'/form_login'
, methods
=
[
'POST'
,
'GET'
])
def
login():
name1
=
request.form[
'username'
]
pwd
=
request.form[
'password'
]
if
name1
not
in
database:
return
render_template(
'login.html'
,
info
=
'Invalid User ????!'
)
else
:
if
database[name1] !
=
pwd:
return
render_template(
'login.html'
,
info
=
'Invalid Password ????!'
)
else
:
return
render_template(
'home.html'
,
name
=
name1)
# Run flask in debug mode
if
__name__
=
=
'__main__'
:
app.run()
После написания этого кода запускаем его в вашем терминале командой:
flask run