Hướng dẫn login and registration form in python flask-sqlalchemy - đăng nhập và biểu mẫu đăng ký trong python flask-sqlalchemy

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh GIT chấp nhận cả tên thẻ và tên chi nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi bất ngờ. Bạn có chắc là bạn muốn tạo chi nhánh này?

Bạn đang cố gắng xây dựng một ứng dụng web bằng bình và bạn cần có một hệ thống đăng nhập trong đó. Bạn cần một cơ sở dữ liệu để lưu trữ thông tin đăng nhập của người dùng. Ở đây, trong bài viết này, tôi sẽ giới thiệu bạn với SQLalchemy và cách sử dụng nó trong bình để tạo ra một hệ thống đăng nhập.

Trong hướng dẫn này, chúng tôi sẽ sử dụng hệ thống cơ sở dữ liệu MySQL. Bây giờ, trước tiên chúng ta hãy hiểu Sqlalchemy là gì.

Lưu ý: Hướng dẫn này không bao gồm những điều cơ bản của bình

Sqlalchemy là gì?

SQLalchemy là bộ công cụ cơ sở dữ liệu và nó cung cấp cách để Python tương tác với cơ sở dữ liệu. Bạn có thể sử dụng bất kỳ MongoDB, PostgreSQL, SQLite và MySQL.

Cài đặt

PIP Cài đặt Flask-Sqlalchemy

Sao chép lệnh này và dán nó vào thiết bị đầu cuối của bạn. Bây giờ bạn chỉ phải đợi một thời gian để cài đặt hoàn thành.

Hãy để mã mã

@app.route (Hồi/) def hello (): return render_template (‘home.html,)
def hello():
return render_template(‘home.html’)

Đây là những gì ứng dụng bình cơ bản nên được. Nhưng chúng tôi phải tạo một hệ thống đăng nhập để chúng tôi sẽ tập trung vào mã hóa của nó.

Điều đầu tiên cần làm là tạo cơ sở dữ liệu. Sử dụng thiết bị đầu cuối hoặc phpmyadmin của bạn để tạo cơ sở dữ liệu. Sau khi bạn tạo cơ sở dữ liệu, hãy truy cập trình soạn thảo văn bản của bạn và bắt đầu nhập mã dưới đây.

Bạn có thể trực tiếp sao chép từ đây. Chỉ cần thực hiện một số thay đổi như thay đổi tên người dùng, mật khẩu. Như bạn có thể thấy trong nhận xét, tên cơ sở dữ liệu là ‘Đăng ký.

Từ bình Nhập bình, Render_Template, url_for, yêu cầu, phiên, ghi nhật ký, chuyển hướng, flash từ sqlalchemy nhập created_engine từ sqlalchemy.
from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session,sessionmaker

Từ passlib.hash nhập sha256_crypt động cơ = created_engine ( )
engine=create_engine(“mysql+pymysql://shubham:shubham123@localhost/register”)
#mysql+pymysql://username:password@localhost/databasename
db=scoped_session(sessionmaker(bind=engine))

Bây giờ tạo một trang đăng ký bằng HTML.

Trang đăng ký của bạn có thể như thế này. Mã được đưa ra dưới đây.

Đăng ký

Nộp

Lưu ý: Bạn có thể sử dụng Navbar trong Bootstrap để dán đăng nhập và đăng ký của bạn trên thanh điều hướng.

Bây giờ, chúng ta hãy tạo một trang đăng nhập để chúng ta có thể tập trung rõ ràng vào mã Python. Trang đăng nhập có thể tương tự như thế này.

Hoặc bạn có thể chỉ cần sao chép mã này.

{ % nếu phiên %} bạn đã đăng nhập { % other %}
You are logged in already
{% else %}

Đăng nhập

Gửi { % endif %}
{% endif %}

Bây giờ là phần chính của Hướng dẫn SQLalchemy của Flask. Các tập tin Python! Đây là mã bạn sẽ viết. Đọc nó, sau đó đọc giải thích dưới đây.

Ứng dụng = Flask (__ name__)

#app.static_folder = 'static' #register form @app.route (Hồi/đăng ký ) username = request.form.get (tên người dùng tên gọi) mật khẩu = request.form.get (mật khẩu mật khẩu) xác nhận = request.form.get (xác nhận xác nhận
#register form
@app.route(“/register”,methods=)
def register():
if request.method==”POST”:
name=request.form.get(“name”)
username=request.form.get(“username”)
password=request.form.get(“password”)
confirm=request.form.get(“confirm”)
secure_password=sha256_crypt.encrypt(str(password))

usernamedata = db.execute (tên chọn tên người dùng từ người dùng nơi người dùng tên =: tên người dùng, {{tên người dùng tên: tên người dùng}). .Execute (chèn vào người dùng (tên, tên người dùng, mật khẩu) giá trị (: tên,: tên người dùng,: mật khẩu) . ')
#usernamedata=str(usernamedata)
if usernamedata==None:
if password==confirm:
db.execute(“INSERT INTO users(name,username,password) VALUES(:name,:username,:password)”,
{“name”:name,”username”:username,”password”:secure_password})
db.commit()
flash(“You are registered and can now login”,”success”)
return redirect(url_for(‘login’))
else:
flash(“password does not match”,”danger”)
return render_template(‘register.html’)
else:
flash(“user already existed, please login or contact admin”,”danger”)
return redirect(url_for(‘login’))

trả về render_template (‘đăng ký.html,)

@App.Route (Hồi/Đăng nhập, Phương thức =) def Đăng nhập (): Nếu request.method == "
def login():
if request.method==”POST”:
username=request.form.get(“name”)
password=request.form.get(“password”)

usernamedata = db.execute (tên chọn tên người dùng từ người dùng trong đó tên người dùng =: username, {{tên người dùng tên: tên người dùng}). Tên người dùng ”: Tên người dùng}). Fetchone ()
passworddata=db.execute(“SELECT password FROM users WHERE username=:username”,{“username”:username}).fetchone()

Nếu usernamedata không phải là không: flash (không có tên người dùng, thì nguy hiểm Bây giờ đã đăng nhập !! 'Đăng nhập.html')
flash(“No username”,”danger”)
return render_template(‘login.html’)
else:
for passwor_data in passworddata:
if sha256_crypt.verify(password,passwor_data):
session=True
flash(“You are now logged in!!”,”success”)
return redirect(url_for(‘hello’)) #to be edited from here do redict to either svm or home
else:
flash(“incorrect password”,”danger”)
return render_template(‘login.html’)

trả về render_template (‘login.html,)

Chúng tôi đã tạo đối tượng DB trong đoạn mã hóa đầu tiên. EXECUTE () được sử dụng để thực thi các lệnh SQL.

Flash được sử dụng để hiển thị tin nhắn trên màn hình liên quan đến chi tiết đăng nhập. SHA được sử dụng để mã hóa mật khẩu của người dùng và phiên được tạo, vì vậy nếu người dùng được đăng nhập thì chỉ có anh ấy/cô ấy mới có thể xem các liên kết nhất định.

Ở đây, một ứng dụng học máy mà tôi đã xây dựng bằng thuật toán, bình và sqlalchemy.

Làm cách nào để tạo một trang đăng nhập và đăng ký trong bình?

Thêm đăng ký người dùng và đăng nhập vào ứng dụng Flask của bạn..
Bước 1: Tạo tệp cấu hình kết nối OpenID. Tạo một tệp mới có tên Client_Secrets. ....
Bước 2: Định cấu hình Flask-Oidc. Mở ứng dụng app.py và dán trong mã sau. ....
Bước 3: Tiêm người dùng vào mỗi yêu cầu. ....
Bước 4: Bật đăng ký, đăng nhập và đăng nhập của người dùng ..

Làm thế nào để bạn xác thực người dùng trong bình với bình

Introduction..
Sử dụng thư viện Flask-Login để quản lý phiên ..
Sử dụng tiện ích bình tích hợp cho mật khẩu băm ..
Thêm các trang được bảo vệ vào ứng dụng chỉ đăng nhập vào người dùng ..
Sử dụng Flask-Sqlalchemy để tạo mô hình người dùng ..
Tạo các biểu mẫu đăng ký và đăng nhập cho người dùng để tạo tài khoản và đăng nhập ..

Làm cách nào để kết nối ứng dụng bình của tôi với sqlalchemy?

Bước 1 - Lắp phần mở rộng Flask -Sqlalchemy.Bước 2 - Bạn cần nhập lớp SQLalchemy từ mô -đun này.Bước 3 - Bây giờ tạo một đối tượng ứng dụng bình và đặt URI cho cơ sở dữ liệu sử dụng.Bước 4 - Sau đó sử dụng đối tượng ứng dụng làm tham số để tạo một đối tượng của lớp SQLalchemy.

Là bình

Flask-Sqlalchemy¶ Flask-Sqlalchemy là một phần mở rộng cho Flask thêm hỗ trợ cho SQLalchemy vào ứng dụng của bạn.Nó đơn giản hóa bằng cách sử dụng sqlalchemy với bình bằng cách thiết lập các đối tượng và mẫu phổ biến để sử dụng các đối tượng đó, chẳng hạn như phiên gắn với từng yêu cầu, mô hình và động cơ web.Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It simplifies using SQLAlchemy with Flask by setting up common objects and patterns for using those objects, such as a session tied to each web request, models, and engines.