Pythonを使用してCMSシステムのユーザー管理機能を実装する方法

WBOY
リリース: 2023-08-08 15:04:02
オリジナル
1000 人が閲覧しました

Pythonを使用してCMSシステムのユーザー管理機能を実装する方法

Python を使用して CMS システムのユーザー管理機能を実装する方法

インターネットと情報技術の急速な発展に伴い、コンテンツ管理システム (CMS) は多くのウェブサイトの中核となる。安定した信頼性の高い CMS システムは、Web サイト管理者がコンテンツを効率的に管理できるだけでなく、優れたユーザー管理機能も提供します。この記事では、Python を使用して CMS システムのユーザー管理機能を実装する方法を紹介し、対応するコード例を添付します。

  1. 準備

始める前に、Python と関連開発ツールをインストールする必要があります。この記事ではFlaskフレームワークを利用してCMSシステムを構築するため、FlaskとFlaskに対応したパッケージ管理ツールpipをインストールする必要があります。

$ pip install Flask
ログイン後にコピー
  1. 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 アプリケーションを作成し、ホームページ ルート ## を定義しました。 #/、ユーザーがサイトのホームページにアクセスすると、ウェルカム メッセージが返されます。

    ユーザー モデルの追加
CMS システムでは、ユーザー関連の情報を保存するためにユーザー モデルが必要です。ユーザーを表す

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 拡張プラグイン

Flask を使用します。 -SQLAlchemy データベース モデルを定義します。 User クラスには、ユーザーの ID、ユーザー名、パスワード、電子メールなどのフィールドが含まれます。

    データベース接続のセットアップ

app.py ファイルに次のコードを追加してデータベース接続を構成します:

app.config["SQLALCHEMY_DATABASE_URI"] = "sqlite:///cms.db"

db.init_app(app)
ログイン後にコピー

上記のコードでは、例として SQLite データベースを使用していますが、MySQL や PostgreSQL などの他のデータベースを使用することもできます。

#データベースの作成
  1. ターミナルで次のコマンドを実行してデータベースを作成します:
$ python
from app import db
db.create_all()
exit()
ログイン後にコピー

登録ルートの作成
app.py

ファイルに次のコードを追加して、ユーザー登録のルートを作成します。 <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(&quot;/register&quot;, methods=[&quot;GET&quot;, &quot;POST&quot;]) def register(): if request.method == &quot;POST&quot;: username = request.form.get(&quot;username&quot;) password = request.form.get(&quot;password&quot;) email = request.form.get(&quot;email&quot;) user = User(username=username, password=password, email=email) db.session.add(user) db.session.commit() return redirect(url_for(&quot;index&quot;)) return render_template(&quot;register.html&quot;)</pre><div class="contentsignin">ログイン後にコピー</div></div>上記のコードでは、

request を通じてユーザー登録を取得します。 .form

フォーム内の関連情報とデータベースにユーザー情報を保存します。登録が完了すると、アプリケーションのホームページにジャンプします。

ログイン ルートの作成
app.py

ファイルに次のコードを追加して、ユーザー ログインのルートを作成します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:python;toolbar:false;'>@app.route(&quot;/login&quot;, methods=[&quot;GET&quot;, &quot;POST&quot;]) def login(): if request.method == &quot;POST&quot;: username = request.form.get(&quot;username&quot;) password = request.form.get(&quot;password&quot;) user = User.query.filter_by(username=username, password=password).first() if user: # 用户登录成功 return redirect(url_for(&quot;index&quot;)) return render_template(&quot;login.html&quot;)</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記のコードでは、

request.form

を通じてユーザー ログイン フォーム内の関連情報を取得し、データベースにクエリを実行してユーザー情報を確認します。検証が成功すると、ホームページにジャンプします。

ユーザー リスト ルートの作成
app.py

ファイルに次のコードを追加してユーザー リスト ルートを作成します。

@app.route("/users")
def users():
    all_users = User.query.all()
    return render_template("users.html", users=all_users)
ログイン後にコピー
このルートでは、データベースからすべてのユーザーを取得し、テンプレート ファイル users.html

に渡します。

テンプレート ファイルの作成

  1. アプリケーションのルート ディレクトリに
  2. templates
という名前のフォルダーを作成し、そのフォルダーの下に次のファイルを作成します。

#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>
    ログイン後にコピー
  • login.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
    ログイン後にコピー
    これで、
      http://localhost:5000
    1. にアクセスして CMS システムにアクセスし、ユーザー登録、ログイン、ユーザー リストの表示を行うことができます。
    この記事では、Python を使用して CMS システムのユーザー管理機能を実装する方法を紹介し、対応するコード例を示します。これらのサンプル コードを拡張および改善して、より多くの CMS システム機能を実装できます。この記事が、CMS システム開発における Python の理解とユーザー管理機能への応用に役立つことを願っています。

    以上がPythonを使用してCMSシステムのユーザー管理機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!