Django によって実装されたマルチユーザー ブログ システム
Django は、Python プログラミング言語をベースにした効率的な Web フレームワークで、Web アプリケーションを簡単に実装できる完全な MVC パターン フレームワークを提供します。この記事では、Django を使用してマルチユーザー ブログ システムを実装し、複数のユーザーが登録、ログイン、自分のブログ投稿を公開できるようにする方法を紹介します。
最初のステップは Django をインストールすることです
開発を開始する前に、まず Django をインストールする必要があります。次のコマンドを使用して、最新バージョンの Django をインストールできます。
pip install Django
2 番目のステップは、Django プロジェクトとアプリケーションを作成することです
Django では、プロジェクトに複数のプロジェクトを含めることができます。アプリケーション。通常、アプリケーションは特定の機能を担当します。次に、Django プロジェクトとブログ アプリケーションを作成する必要があります。次のコマンドを使用して作成できます:
django-admin startproject myblog
cd myblog
python manage.py startapp blog
上記のコマンドでは、という名前のプロジェクトを作成しました。 Myblog の Django プロジェクトを作成し、プロジェクト内に blog という名前のアプリケーションを作成しました。
3 番目のステップ、データベースの構成
Django では、デフォルトのデータベースは SQLite ですが、他のデータベース (MySQL、PostgreSQL など) も使用できます。 Django プロジェクトの settings.py ファイルで設定する必要があります。 settings.py ファイルを開き、DATABASES に適切なデータベース構成情報を追加します。
4 番目のステップ、モデルの定義
次に、ブログ投稿のモデルを定義する必要があります。 Django では、モデルはデータベース テーブルとそのテーブルに関連付けられたフィールドを定義します。ブログ アプリケーションの models.py ファイルでは、次のモデルを定義できます:
from django.db import models
from django.contrib.auth.models import User
class Post (models.Model):
title = models.CharField(max_length=100) content = models.TextField() pub_date = models.DateTimeField(auto_now_add=True) author = models.ForeignKey(User, on_delete=models.CASCADE)
モデルでは、次のフィールドを含む Post モデルを定義します。
title: 記事のタイトル、CharField と入力します。
content: 記事のコンテンツ。TextField と入力します。
pub_date: 記事の公開時刻、タイプは DateTimeField です。このフィールドは auto_now_add=True パラメーターを使用します。これは、新しい記事の作成時に自動的に現在時刻に設定されることを意味します。
author: 記事の作成者。ForeignKey タイプ。Django の組み込み User モデルに関連付けられています。
ステップ 5、ルーティングの構成
次に、アプリケーションがさまざまなリクエスト (ブログ投稿リスト、投稿の詳細、投稿の作成など) を処理できるように、URL ルーティングを構成する必要があります。アプリケーションの urls.py ファイルに、次のコードを追加できます:
from django.urls import path
from . import views
urlpatterns = [
path('', views.IndexView.as_view(), name='index'), path('post/<int:pk>/', views.PostDetailView.as_view(), name='post_detail'), path('post/add/', views.PostCreateView.as_view(), name='post_create'),
]
上記のコードでは、3 つのルートを定義します。
空のルートは IndexView.as_view() ビュー関数を指し、「index」という名前が付けられます。
記事の詳細を表示するために使用されるルート。ルートは、pk という名前の整数パラメーターを受け取り、「post_detail」という名前の PostDetailView.as_view() ビュー関数を指します。
新しい記事を作成するために使用されるルート。このルートは PostCreateView.as_view() ビュー関数を指し、「post_create」という名前が付けられます。
6 番目のステップ、ビューの定義
次に、さまざまなリクエストに応答するルーティングを処理するビュー関数を定義する必要があります。これらの関数は、必要な応答 HTML、JSON、または XML コンテンツを含む HttpResponse オブジェクトを返す必要があります。ブログ アプリケーションの views.py ファイルでは、次のビュー関数を定義できます。
from django.contrib.auth.mixins import LoginRequiredMixin
from django.views.generic import ListView、DetailView、CreateView
from .models import Post
class IndexView(ListView):
model = Post template_name = 'blog/index.html' context_object_name = 'posts' ordering = ['-pub_date']
class PostDetailView(DetailView):
model = Post template_name = 'blog/post_detail.html' context_object_name = 'post'
class PostCreateView(LoginRequiredMixin, CreateView):
model = Post template_name = 'blog/post_form.html' fields = ['title', 'content'] success_url = '/' def form_valid(self, form): form.instance.author = self.request.user return super().form_valid(form)
上記のコードでは、3 つのビュー関数を定義します。
IndexView: ブログ投稿のリストを表示します。このビューは ListView を継承し、model、template_name、context_object_name、順序付けなどの属性を指定することで実装できます。
PostDetailView: 1 つのブログ投稿の詳細を表示します。 DetailView から継承され、model と template_name を指定するだけで済みます。
PostCreateView: 新しいブログ投稿を作成するために使用されます。 CreateView から継承され、model、template_name、fields、success_url などの属性を指定する必要があります。同時に、LoginRequiredMixin ミックスイン クラスを使用して、ログインしているユーザーのみがビューにアクセスできるようにします。 form_valid() メソッドでは、記事の作成者を現在のユーザーに設定します。
7 番目のステップは、テンプレートを作成することです。
最後に、ビュー関数に対応するテンプレートを作成する必要があります。ブログ アプリケーションのテンプレート ディレクトリに、次のテンプレート ファイルを作成できます。
base.html: すべてのページに適用される基本テンプレート。
index.html: すべてのブログ投稿を表示するテンプレート。
post_detail.html: 単一のブログ投稿の詳細を表示するテンプレート。
post_form.html: 新しいブログ投稿を作成するためのテンプレート。
このうち、base.html には、他のテンプレートと共通のページ要素が含まれています。 Index.html には、すべてのブログ投稿の概要が表示され、投稿の詳細にリンクされたビューが提供されます。 post_detail.html は、単一のブログ投稿の詳細を表示し、投稿を編集および削除するためのビューへのリンクを提供します。 post_form.html 新しいブログ投稿を作成するためのフォーム。
上記の手順により、Django を使用してマルチユーザー ブログ システムを実装できます。このシステムでは、複数のユーザーが登録、ログインし、自分のブログ投稿を公開することができます。これにより、Web サイトのコンテンツが充実するとともに、他のユーザーとのコミュニケーションや記事の鑑賞も容易になります。
以上がDjango によって実装されたマルチユーザー ブログ システムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









Django のバージョンを確認する手順: 1. ターミナルまたはコマンド プロンプト ウィンドウを開きます; 2. Django がインストールされていることを確認します Django がインストールされていない場合は、パッケージ管理ツールを使用してインストールし、 pip install django コマンドを入力します。 3. インストールが完了したら、python -m django --version を使用して Django のバージョンを確認できます。

Django と Flask はどちらも Python Web フレームワークのリーダーであり、それぞれに独自の利点と適用可能なシナリオがあります。この記事では、これら 2 つのフレームワークを比較分析し、具体的なコード例を示します。開発の概要 Django はフル機能の Web フレームワークであり、その主な目的は、複雑な Web アプリケーションを迅速に開発することです。 Django は、ORM (オブジェクト リレーショナル マッピング)、フォーム、認証、管理バックエンドなどの多くの組み込み機能を提供します。これらの機能により、Django は大規模なデータを処理できるようになります。

Django は、Web 開発ライフサイクルのあらゆる側面をカバーする完全な開発フレームワークです。現在、このフレームワークは世界中で最も人気のある Web フレームワークの 1 つです。 Django を使用して独自の Web アプリケーションを構築する場合は、Django フレームワークの長所と短所を理解する必要があります。具体的なコード例も含め、知っておくべきことはすべてここにあります。 Django の利点: 1. 迅速な開発 - Django は Web アプリケーションを迅速に開発できます。豊富なライブラリと内部を提供します。

PHP でのデータベース操作は、オブジェクトをリレーショナル データベースにマップする ORM を使用して簡素化されます。 Laravel の EloquentORM を使用すると、オブジェクト指向構文を使用してデータベースと対話できます。モデル クラスを定義したり、Eloquent メソッドを使用したり、実際にブログ システムを構築したりすることで ORM を使用できます。

違いは次のとおりです。 1. Django 1.x シリーズ: これは、バージョン 1.0、1.1、1.2、1.3、1.4、1.5、1.6、1.7、1.8、および 1.9 を含む、Django の初期バージョンです。これらのバージョンは主に基本的な Web 開発機能を提供します; 2. Django 2.x シリーズ: これは、2.0、2.1、2.2 およびその他のバージョンを含む Django の中期バージョンです; 3. Django 3.x シリーズ: これは最新バージョンですDjango シリーズ。バージョン 3.0、3 などを含む。

Django バージョンをアップグレードする方法: 手順と考慮事項、必要な特定のコード例 はじめに: Django は、より優れたパフォーマンスとより多くの機能を提供するために継続的に更新およびアップグレードされる強力な Python Web フレームワークです。ただし、古いバージョンの Django を使用している開発者にとって、Django のアップグレードはいくつかの課題に直面する可能性があります。この記事では、Djangoのバージョンアップの手順や注意点、具体的なコード例を紹介します。 1. Djan をアップグレードする前にプロジェクト ファイルをバックアップします。

Django のバージョンを確認する方法: 1. コマンド ラインで確認するには、ターミナルまたはコマンド ライン ウィンドウで「python -m django --version」コマンドを入力します。 2. Python 対話型環境で確認するには、「import django」と入力します。 print(django.get_version())" code; 3. Django プロジェクトの設定ファイルを確認し、インストールされているアプリケーション情報を含む INSTALLED_APPS という名前のリストを見つけます。

バックエンドは django です。詳細: Django は主にバックエンド フレームワークですが、フロントエンド開発と密接に関連しています。 Django のテンプレート エンジン、静的ファイル管理、RESTful API などの機能を通じて、フロントエンド開発者はバックエンド開発者と協力して、強力でスケーラブルな Web アプリケーションを構築できます。
