Python で Django プロジェクトを構築するプロセス全体の詳細な説明

Y2J
リリース: 2017-05-11 11:08:23
オリジナル
2797 人が閲覧しました

この記事では、主に Python Web フレームワークの Django プロジェクトを構築する全体のプロセスを紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターをフォローして見てみましょう

PythonでWebフレームワークDjangoプロジェクトを構築する全プロセス

IDEの説明:

  1. Win7システム

  2. Python: 3.5

  3. Django: 1.10

  4. P ymysql:0.7.10

  5. Mysql:5.5

注: pip フリーズを通じて、インストールされているライブラリのバージョン情報を表示できます。

Django は、Python で開発された無料のオープンソース Web サイト フレームワークであり、高パフォーマンスでエレガントな Web サイトを迅速に構築するために使用できます。

Django の機能

  1. 強力なデータベース機能

  2. Python クラス継承を使用すると、単に数行のcode を使用すると、必要に応じて SQL ステートメントを実行することもできます。 組み込みの強力なバックエンド機能

  3. 数行の簡単なコードであなたのウェブサイトに強力なバックエンドを与え、コンテンツを簡単に管理できます。 エレガントな URL
  4. は、正規表現を使用して URL を照合し、対応する
  5. 関数

    に渡します。必要に応じて定義できます。

  6. テンプレート システム – シンプルなデザインの強力で簡単に拡張可能なテンプレート システム。コードとスタイルは個別に設計されているため、管理が容易です。

  7. キャッシュ システム

    – memcached または

    他の
  8. キャッシュ システムと併用すると、パフォーマンスが向上し、読み込み速度が速くなります。
  9. 国際化 – 多言語アプリを完全にサポートしており、翻訳された文字を定義し、さまざまな国の言語に簡単に翻訳できます。

  10. PythonとMySQLのインストール操作はここでは説明しません。インターネットで検索して解決することができます。このうち、djangoとpymysqlはpip install *コマンドでインストールが完了します。

    Django をインストールした後、django-admin.py 管理ツールを使用してプロジェクトを作成できます。まず、django-admin.py のコマンドの概要を見てみましょう。コマンド ラインに django-admin.py と入力して、使用可能なプロジェクト管理コマンドを表示します。



Django プロジェクトで HelloWorld プロジェクトを作成する具体的なプロセスは次のとおりです:

Python で Django プロジェクトを構築するプロセス全体の詳細な説明ステップ 1: Django プロジェクトをビルドする前に、まずプロジェクトの保存ディレクトリを選択します。次に、CD を実行して Dos ウィンドウのプロジェクト保存ディレクトリに切り替えます。

ステップ2:
プロジェクトを作成する

django-admin.py startproject HelloWorldを実行します


IDEAを開くと、以下に示すように作成されたプロジェクトディレクトリが表示されます:


ディレクトリの説明: : のプロジェクトのコンテナ。

Python で Django プロジェクトを構築するプロセス全体の詳細な説明manage.py: さまざまな方法でこの Django プロジェクトと対話できるようにする便利なコマンド ライン ツール。

    HelloWorld/init.py: ディレクトリが Python パッケージであることを Python に伝える空のファイル。
  1. HelloWorld/settings.py: この Django プロジェクトの設定/構成。
  2. HelloWorld/urls.py: この Django プロジェクトの URL 宣言。Django を利用した Web サイトの「ディレクトリ」
  3. HelloWorld/wsgi.py: プロジェクトを実行するための WSGI 互換 Web サーバーへのポータル。

  4. 次に、HelloWorld ディレクトリに入り、次のコマンドを入力してサーバーを起動します。

    python manage.py runserver 0.0.0.0:8000
    ログイン後にコピー

    0.0.0.0 を使用すると、他のコンピューターが開発サーバーに接続できます。8000 はポート番号です。指定しない場合、ポート番号はデフォルトの 8000 になります。
  5. ブラウザにサーバーの IP とポート番号を入力します。正常に起動すると、出力は次のようになります:

ステップ 3: アプリケーションを作成し、コマンドに django-admin.py startapp Demon を入力します。


IDEA行を開くと、以下に示すように作成されたプロジェクトディレクトリが表示されます:


Python で Django プロジェクトを構築するプロセス全体の詳細な説明

ディレクトリの説明:

  1. demo: 应用的容器。注:后面的页面设计文件,在此目录下创建目录templates,名为XX.html的文件放在此处。

  2. init.py:如上一个init.py文件

  3. migrations: 数据库相关目录,同步数据库之后会出现数据类。

  4. admin.py: admin后台管理文件

  5. apps.py: app应用管理文件

  6. models.py:主要用一个 Python 类来描述数据表,称为模型(model) 。运用这个类,你可以通过简单的 Python的代码来创建、检索、更新删除 数据库中的记录而无需写一条又一条的SQL语句。

  7. tests.py:测试文件

  8. views.py:包含了页面的业务逻辑。

创建超级管理员

python manage.py createsuperuser

# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填

# 修改 用户密码可以用:
python manage.py changepassword username
ログイン後にコピー

服务端响应客户端请求过程

流程图如下:

Python で Django プロジェクトを構築するプロセス全体の詳細な説明 

上面的流程图可以大致描述Django处理request的流程,按照流程图2的标注,可以分为以下几个步骤:

1.用户通过浏览器请求一个页面。

2.请求到达Request Middlewares,中间件对request做一些预处理或者直接response请求。

3.URLConf通过urls.py文件和请求的URL找到相应的View。

4.View Middlewares被访问,它同样可以对request做一些处理或者直接返回response。

5.调用View中的函数。

6.View中的方法可以选择性的通过Models访问底层的数据。

7.所有的Model-to-DB的交互都是通过manager完成的。

8.如果需要,Views可以使用一个特殊的Context。

9.Context被传给Template用来生成页面。

a.Template使用Filters和Tags去渲染输出

b.输出被返回到View

c.HTTPResponse被发送到Response Middlewares

d.任何Response Middlewares都可以丰富response或者返回一个完全不同的response

e.Response返回到浏览器,呈现给用户

url() 函数

Django url() 可以接收四个参数,分别是两个必选参数:regex、view 和两个可选参数:kwargs、name,接下来详细介绍这四个参数。

  1. regex: 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。

  2. view: 用于执行与正则表达式匹配的 URL 请求。

  3. kwargs: 视图使用的字典类型的参数。

  4. name: 用来反向获取 URL。

Django项目部署

在前面的介绍中我们使用 python manage.py runserver 来运行服务器。这只适用测试环境中使用。
正式发布的服务,我们需要一个可以稳定而持续的服务器,比如apache, Nginx, lighttpd等,本文后续将以 Nginx 为例。

设置用自己的iP地址访问项目

1.首先需要执行>manage.py runserver 0.0.0.0:8000。

2.在setting.py里面需要添加ALLOWED_HOSTS=”*”。

【相关推荐】

1. Python免费视频教程

2. Python学习手册

3. 马哥教育python基础语法全讲解视频

以上がPython で Django プロジェクトを構築するプロセス全体の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート