Pythonを使用してCMSシステムのユーザー管理機能を実装する方法
Python を使用して CMS システムのユーザー管理機能を実装する方法
インターネットと情報技術の急速な発展に伴い、コンテンツ管理システム (CMS) は多くのウェブサイトの中核となる。安定した信頼性の高い CMS システムは、Web サイト管理者がコンテンツを効率的に管理できるだけでなく、優れたユーザー管理機能も提供します。この記事では、Python を使用して CMS システムのユーザー管理機能を実装する方法を紹介し、対応するコード例を添付します。
- 準備
始める前に、Python と関連開発ツールをインストールする必要があります。この記事ではFlaskフレームワークを利用してCMSシステムを構築するため、FlaskとFlaskに対応したパッケージ管理ツールpipをインストールする必要があります。
$ pip install Flask
- 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:php;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:php;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 に渡します。 テンプレート ファイルの作成
- アプリケーションのルート ディレクトリに templates
#register.html
<!DOCTYPE html> <html> <head> <title>User Registration</title> </head> <body> <h1 id="User-Registration">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 id="User-Login">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
:
- #アプリケーションの実行
##ターミナルで次のコマンドを実行してアプリケーションを開始します:
- にアクセスして CMS システムにアクセスし、ユーザー登録、ログイン、ユーザー リストの表示を行うことができます。
<!DOCTYPE html> <html> <head> <title>User List</title> </head> <body> <h1 id="User-List">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
以上がPythonを使用してCMSシステムのユーザー管理機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PythonとJavaScriptには、コミュニティ、ライブラリ、リソースの観点から、独自の利点と短所があります。 1)Pythonコミュニティはフレンドリーで初心者に適していますが、フロントエンドの開発リソースはJavaScriptほど豊富ではありません。 2)Pythonはデータサイエンスおよび機械学習ライブラリで強力ですが、JavaScriptはフロントエンド開発ライブラリとフレームワークで優れています。 3)どちらも豊富な学習リソースを持っていますが、Pythonは公式文書から始めるのに適していますが、JavaScriptはMDNWebDocsにより優れています。選択は、プロジェクトのニーズと個人的な関心に基づいている必要があります。

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

MINIOオブジェクトストレージ:CENTOSシステムの下での高性能展開Minioは、Amazons3と互換性のあるGO言語に基づいて開発された高性能の分散オブジェクトストレージシステムです。 Java、Python、JavaScript、Goなど、さまざまなクライアント言語をサポートしています。この記事では、CentosシステムへのMinioのインストールと互換性を簡単に紹介します。 Centosバージョンの互換性Minioは、Centos7.9を含むがこれらに限定されない複数のCentosバージョンで検証されています。

Pytorchの分散トレーニングでは、Centosシステムでトレーニングには次の手順が必要です。Pytorchのインストール:PythonとPipがCentosシステムにインストールされていることです。 CUDAバージョンに応じて、Pytorchの公式Webサイトから適切なインストールコマンドを入手してください。 CPUのみのトレーニングには、次のコマンドを使用できます。PipinstalltorchtorchtorchvisionTorchaudioGPUサポートが必要な場合は、CUDAとCUDNNの対応するバージョンがインストールされ、インストールに対応するPytorchバージョンを使用してください。分散環境構成:分散トレーニングには、通常、複数のマシンまたは単一マシンの複数GPUが必要です。場所

PytorchをCentosシステムにインストールする場合、適切なバージョンを慎重に選択し、次の重要な要因を検討する必要があります。1。システム環境互換性:オペレーティングシステム:Centos7以上を使用することをお勧めします。 Cuda and Cudnn:PytorchバージョンとCudaバージョンは密接に関連しています。たとえば、pytorch1.9.0にはcuda11.1が必要ですが、pytorch2.0.1にはcuda11.3が必要です。 CUDNNバージョンは、CUDAバージョンとも一致する必要があります。 Pytorchバージョンを選択する前に、互換性のあるCUDAおよびCUDNNバージョンがインストールされていることを確認してください。 Pythonバージョン:Pytorch公式支店

Pythonは、自動化、スクリプト、およびタスク管理に優れています。 1)自動化:OSやShutilなどの標準ライブラリを介してファイルバックアップが実現されます。 2)スクリプトの書き込み:Psutilライブラリを使用してシステムリソースを監視します。 3)タスク管理:スケジュールライブラリを使用してタスクをスケジュールします。 Pythonの使いやすさと豊富なライブラリサポートにより、これらの分野で優先ツールになります。
