Python の Django フレームワークについての深い理解
この記事では主に Django フレームワークを実装するための Python コードを紹介します。編集者が非常に優れていると考えたので、参考として共有します。エディターをフォローして一緒に見てみましょう
1. URLconf
ユーザーがブラウザーから URL にアクセスして Web サイトをリクエストすると、URL を通じて対応する関数が見つかり、実行されます。Django の URL はフォルダー
1、configuration
(1)、test1/settings.py 内のプロジェクトと同じ名前のファイル Configuration ファイル
settings.py は、デフォルトで ROOT_URLCONF を介して URL 構成を指定しています。 test1 .py ファイルの下の URL:
(2)、test1/urls.py の設定項目は次のとおりです:
注:
test1/ で包含設定を実行します。 urls.py を作成し、それぞれのアプリケーションで使用します。 対応する urls.py を作成し、各アプリケーションの urls.py ファイルに特定の構成を作成します。
urlpartterns リストを定義し、url() オブジェクトを保存します。このリストの名前は固定です。
2. URL 定義
url() オブジェクトの構文は django.conf.urls パッケージで定義されており、2 つの構文構造で構成されます
(1): 同じ名前のフォルダー内の URL が含まれます。プロジェクトの py には他のアプリケーションの urls.py が含まれています
カスタマイズしたアプリケーションで urls.py ファイルを作成して url() を定義し、カスタマイズした urls.py を同じ名前のフォルダー内の urls.py に導入します。この目的は、データがより明確で保守しやすいように、アプリケーション内で urls.py を構成することです。
booktest/urls.pyの構文をtest1/urls.pyに導入します
url(r'^',include('应用名称.urls')), # 此处的urls指的是各自应用(booktest)中urls.py文件的名称,如果是urls.py,即为urls
(2)、構文2:定義、URLとビュー関数の対応関係を指定します
それぞれのアプリケーション内でurls.pyを作成し、指定しますリクエストアドレス ビューとの対応関係、形式は以下の通り:
url(正则,'视图函数名称')
例:
booktest/urls.py にホームページの URL を作成:
from django.conf.urls import url from booktest import views urlpatterns=[ url(r'^$',views.index), ]
注: 通常の引数では r を使用することをお勧めします。これは、文字列がエスケープされないことを意味するため、正規表現を使用するときに記述する必要があるのは 1 つだけです。 バックスラッシュを先頭に追加することはできません。バックスラッシュを末尾に追加してもしなくてもブラウザの URL は同じになるため、末尾にバックスラッシュを追加することをお勧めします。
3. URL に含まれるパラメータ値を取得します
リクエストされた URL は通常の Python 文字列とみなされ、ドメイン名、get、post を含まないリクエスト パラメータが照合されます。例: リクエスト アドレスは次のようになります。
http://localhost:8080/detail/1?a=10
上記のリクエストアドレスでは、url()関数の正規表現に一致する文字列は、detail/
のみです。リクエストされた URL で RESTFUL スタイルを伝えたい パラメータは、url() 関数の正規表現で、つまり () 記号を使用してグループ化する必要があります。位置パラメータとキーワード パラメータに分割されます。
注: 2 つのパラメータ メソッドを混合しないでください。正規表現では 1 つのパラメータ メソッドのみを使用できます。
(1)、位置パラメータ
() 記号を直接使用し、位置パラメータを通じてビューに渡します
url() 関数の正規表現は次のように記述されます:
url(r'^detail(\d+)/$',views.show_books),
ビュー内の対応する関数。 py は次のように記述されます:
def show_books(request, id): # 此处获取的id为1 return HttpResponse('show_books')
(2), キーワード パラメータ
キーワード パラメータを使用し、url() 関数の正規表現でグループ化して各グループに名前を付けます
たとえば、アクセスされる URL は次のとおりです: http:// localhost: 8000/delete/1?a=10
url() 関数の正規表現は次のように記述されます:
url(r'^delete(?P<id1>\d+)/$',views.show_book),
views.py の関数は次のように記述されます:
def show_arg(request,id1): return HttpResponse('show %s'%id1)
注:キーワード パラメーターを使用する場合 その場合、views.py 内の対応する関数のパラメーター名は、正規表現内のグループの名前と一致している必要があります。そうでない場合は、エラーが報告されます。
2. ビュー
1. ビューとは
ビューは Python の関数であり、通常、「application/views.py」ファイル (この例では「booktest/views.py」) で定義されます。例。
ビューは、応答として HttpResponse オブジェクトまたはサブオブジェクトを返さなければなりません。応答には、Web ページの HTML コンテンツ、リダイレクト関数、404 エラーなどが考えられます。ビューの最初のパラメーターは HTTPREQUEST オブジェクトである必要があります。他のパラメーターには、キーワード パラメーターまたは位置パラメーター (2 つのうちの 1 つ)
2、組み込みエラー ビュー (1)、組み込みエラー ビュー マップ
も含まれる場合があります。デバッグ情報の代わりにエラー ビューを表示したい場合は、テスト内の「DEBUG 項目構成情報」を変更する必要があります。 /settings.py」ファイル
(2)、404错误及视图
将请求地址进行url匹配之后,没有找到匹配的正则表达式,则调用404视图,这个视图会调用404.html模版进行渲染,视图传递变量request_path给模版,表示导致错误的URL。
在templates中创建404.html
<html> <head> <title></title> </head> <body> 找不到了 <hr/> {{request_path}} </body> </html>
在浏览器中输入如下网址:
http://localhost:8000/test/
运行效果如下:
(3)、500错误及视图
在视图中代码运行报错将会发生500错误,调用内置错误视图,使用templates/500.html模版进行渲染。
三、HttpRequest对象
1、HttpRequest对象
服务器接收到HTTP请求后,会根据报文创建HttpRequest对象,这个对象不需要我们手动创建,直接使用服务器构建好的对象即可。视图函数中的第一个参数必须是HttpRequest对象,该对象类定义在django.http模块中。
2、属性
path:一个字符串,表示请求的页面的完整路径,不包含域名和参数部分。
method:一个字符串,表示请求使用的HTTP方法,常用值包括:'GET'、'POST'。
在浏览器中给出地址发出请求采用get方式,如超链接。
在浏览器中点击表单的提交按钮发起请求,如果表单的method设置为post则为post请求。
encoding:一个字符串,表示提交的数据的编码方式。
如果为None则表示使用浏览器的默认设置,一般为utf-8。
这个属性是可写的,可以通过修改它来修改访问表单数据使用的编码,接下来对属性的任何访问将使用新的encoding值。
GET:QueryDict类型对象,类似于字典,包含get请求方式的所有参数。
POST:QueryDict类型对象,类似于字典,包含post请求方式的所有参数。
FILES:一个类似于字典的对象,包含所有的上传文件。
COOKIES:一个标准的Python字典,包含所有的cookie,键和值都为字符串。
session:一个既可读又可写的类似于字典的对象,表示当前的会话,只有当Django 启用会话的支持时才可用,详细内容见"状态保持"。
以上がPython の 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)

ホットトピック











PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPはWeb開発と迅速なプロトタイピングに適しており、Pythonはデータサイエンスと機械学習に適しています。 1.PHPは、単純な構文と迅速な開発に適した動的なWeb開発に使用されます。 2。Pythonには簡潔な構文があり、複数のフィールドに適しており、強力なライブラリエコシステムがあります。

Pythonは、スムーズな学習曲線と簡潔な構文を備えた初心者により適しています。 JavaScriptは、急な学習曲線と柔軟な構文を備えたフロントエンド開発に適しています。 1。Python構文は直感的で、データサイエンスやバックエンド開発に適しています。 2。JavaScriptは柔軟で、フロントエンドおよびサーバー側のプログラミングで広く使用されています。

VSコードはPythonの書き込みに使用でき、Pythonアプリケーションを開発するための理想的なツールになる多くの機能を提供できます。ユーザーは以下を可能にします。Python拡張機能をインストールして、コードの完了、構文の強調表示、デバッグなどの関数を取得できます。デバッガーを使用して、コードを段階的に追跡し、エラーを見つけて修正します。バージョンコントロールのためにGitを統合します。コードフォーマットツールを使用して、コードの一貫性を維持します。糸くずツールを使用して、事前に潜在的な問題を発見します。

PHPは1994年に発信され、Rasmuslerdorfによって開発されました。もともとはウェブサイトの訪問者を追跡するために使用され、サーバー側のスクリプト言語に徐々に進化し、Web開発で広く使用されていました。 Pythonは、1980年代後半にGuidovan Rossumによって開発され、1991年に最初にリリースされました。コードの読みやすさとシンプルさを強調し、科学的コンピューティング、データ分析、その他の分野に適しています。

VSコードでは、次の手順を通じて端末でプログラムを実行できます。コードを準備し、統合端子を開き、コードディレクトリが端末作業ディレクトリと一致していることを確認します。プログラミング言語(pythonのpython your_file_name.pyなど)に従って実行コマンドを選択して、それが正常に実行されるかどうかを確認し、エラーを解決します。デバッガーを使用して、デバッグ効率を向上させます。

VSコードはWindows 8で実行できますが、エクスペリエンスは大きくない場合があります。まず、システムが最新のパッチに更新されていることを確認してから、システムアーキテクチャに一致するVSコードインストールパッケージをダウンロードして、プロンプトとしてインストールします。インストール後、一部の拡張機能はWindows 8と互換性があり、代替拡張機能を探すか、仮想マシンで新しいWindowsシステムを使用する必要があることに注意してください。必要な拡張機能をインストールして、適切に動作するかどうかを確認します。 Windows 8ではVSコードは実行可能ですが、開発エクスペリエンスとセキュリティを向上させるために、新しいWindowsシステムにアップグレードすることをお勧めします。

VSコード拡張機能は、悪意のあるコードの隠れ、脆弱性の活用、合法的な拡張機能としての自慰行為など、悪意のあるリスクを引き起こします。悪意のある拡張機能を識別する方法には、パブリッシャーのチェック、コメントの読み取り、コードのチェック、およびインストールに注意してください。セキュリティ対策には、セキュリティ認識、良好な習慣、定期的な更新、ウイルス対策ソフトウェアも含まれます。
