Python を使用して CMS システムのユーザー管理機能を実装する方法
インターネットと情報技術の急速な発展に伴い、コンテンツ管理システム (CMS) は多くのウェブサイトの中核となる。安定した信頼性の高い CMS システムは、Web サイト管理者がコンテンツを効率的に管理できるだけでなく、優れたユーザー管理機能も提供します。この記事では、Python を使用して CMS システムのユーザー管理機能を実装する方法を紹介し、対応するコード例を添付します。
始める前に、Python と関連開発ツールをインストールする必要があります。この記事ではFlaskフレームワークを利用してCMSシステムを構築するため、FlaskとFlaskに対応したパッケージ管理ツールpipをインストールする必要があります。
$ pip install Flask
まず、基本的な Flask アプリケーションを作成する必要があります。アプリケーションのルート ディレクトリに app.py
という名前のファイルを作成し、次のコードを追加します。
from flask import Flask app = Flask(__name__) @app.route("/") def index(): return "Welcome to CMS system." if __name__ == "__main__": app.run()
上記のコードでは、Flask アプリケーションを作成し、ホームページ ルート ## を定義しました。 #/、ユーザーがサイトのホームページにアクセスすると、ウェルカム メッセージが返されます。
User クラスを作成し、データベースに保存できます。アプリケーションのルート ディレクトリに
models.py という名前のファイルを作成し、次のコードを追加します。
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(50), unique=True, nullable=False) password = db.Column(db.String(100), nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) def __repr__(self): return f"<User {self.username}>"
Flask を使用します。 -SQLAlchemy データベース モデルを定義します。
User クラスには、ユーザーの ID、ユーザー名、パスワード、電子メールなどのフィールドが含まれます。
app.py ファイルに次のコードを追加してデータベース接続を構成します:
app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///cms.db" db.init_app(app)
$ python from app import db db.create_all() exit()
ファイルに次のコードを追加して、ユーザー登録のルートを作成します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:python;toolbar:false;'>from flask import render_template, request, redirect, url_for
@app.route("/register", methods=["GET", "POST"])
def register():
if request.method == "POST":
username = request.form.get("username")
password = request.form.get("password")
email = request.form.get("email")
user = User(username=username, password=password, email=email)
db.session.add(user)
db.session.commit()
return redirect(url_for("index"))
return render_template("register.html")</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコードでは、
フォーム内の関連情報とデータベースにユーザー情報を保存します。登録が完了すると、アプリケーションのホームページにジャンプします。
ファイルに次のコードを追加して、ユーザー ログインのルートを作成します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:python;toolbar:false;'>@app.route("/login", methods=["GET", "POST"])
def login():
if request.method == "POST":
username = request.form.get("username")
password = request.form.get("password")
user = User.query.filter_by(username=username, password=password).first()
if user:
# 用户登录成功
return redirect(url_for("index"))
return render_template("login.html")</pre><div class="contentsignin">ログイン後にコピー</div></div>
上記のコードでは、
を通じてユーザー ログイン フォーム内の関連情報を取得し、データベースにクエリを実行してユーザー情報を確認します。検証が成功すると、ホームページにジャンプします。
ファイルに次のコードを追加してユーザー リスト ルートを作成します。
@app.route("/users") def users(): all_users = User.query.all() return render_template("users.html", users=all_users)
このルートでは、データベースからすべてのユーザーを取得し、テンプレート ファイル
users.html に渡します。 テンプレート ファイルの作成
#register.html
<!DOCTYPE html> <html> <head> <title>User Registration</title> </head> <body> <h1>User Registration</h1> <form action="{{ url_for('register') }}" method="post"> <input type="text" name="username" placeholder="Username" required><br><br> <input type="password" name="password" placeholder="Password" required><br><br> <input type="email" name="email" placeholder="Email" required><br><br> <input type="submit" value="Register"> </form> </body> </html>
<!DOCTYPE html> <html> <head> <title>User Login</title> </head> <body> <h1>User Login</h1> <form action="{{ url_for('login') }}" method="post"> <input type="text" name="username" placeholder="Username" required><br><br> <input type="password" name="password" placeholder="Password" required><br><br> <input type="submit" value="Login"> </form> </body> </html>
#users.html<!DOCTYPE html> <html> <head> <title>User List</title> </head> <body> <h1>User List</h1> <table> <tr> <th>Username</th> <th>Email</th> </tr> {% for user in users %} <tr> <td>{{ user.username }}</td> <td>{{ user.email }}</td> </tr> {% endfor %} </table> </body> </html>
##ターミナルで次のコマンドを実行してアプリケーションを開始します: $ python app.py
以上がPythonを使用してCMSシステムのユーザー管理機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。