Djangoの最初の試験水(C)

1と2の前面には、それぞれ、基本的に私たち自身のインターフェイス(ビュー)を作成、そして、いくつかの基本的な操作、データベースとDjango独自の管理インターフェイスを実現しています。

直接リターンが閲覧サーバーに対応したアドレスにアクセスします。これは、最も一般的な相互作用があります。

訪問と同様のhttp:// localhostを:8000は、システムのホーム・ページに戻ります。

世論調査/ views.py:ビューを作成します。

1つの デフ指数(リクエスト):
 2      リターンのHttpResponse(こんにちは、世界あなたは世論調査インデックスにいる。。3  
4  デフ詳細(リクエスト、question_id):
 5      リターンHttpResponseには、( "あなたは結果を見ています質問%s「は%のquestion_id)。
6      試し7          質問= Question.objects.get(PK = question_id)
 8      を除くQuestion.DoesNotExist:
 9          昇給 Http404(" 質問が存在しません!" 10      リターンレンダリング(リクエスト、"世論調査/ detail.html '{ ' 質問" :質問})
 11の デフ結果(リクエスト、question_id):
 12      レスポンス= " あなたが質問%sの結果を見ている" 
13      リターンのHttpResponse(レスポンス%のquestion_id)
 14  
15  デフ票(リクエスト、question_id):
 16      リターンのHttpResponse(" あなたの質問%sの上にいるの投票"%のquestion_id)

世論調査/ urls.py:ルーティング情報を変更します。

1   
    #默认进来首页
    パス(''、views.index、NAME = ' インデックス' 2 EX:/ポーリング/ 5 3 パス(' <INT:question_id> / '、views.detail、NAME = ' 詳細' )、 4 EX:/ポーリング/ 5 /結果/ 5 パス(' <INT:question_id> /結果/ '、views.results、名前= ' 結果' )、 6 EX:/ポーリング/ 5 /投票/ 7 パス(' <整数:question_id> /投票/ '、views.vote、名前= ' 投票')、

Open Serverは:

1 PY manage.pyのrunserver

アクセスパス:http://127.0.0.1:8000/polls/1/詳細ビューに。

アクセス・パスは、ビュー・サーバが唯一の2つのことを行う必要がある場合:の要求されたページの内容を返す  HttpResponse オブジェクトを、または例外(例えば404など)をスローします。

上記の例では、なぜ直接モデルAPIはObjectDoesNotExistを投げるが、それをHttp404をスローしませんか?

それはモデルとビューレイヤーの結合が増加することになるので。最も重要なイデオロギーの指導ジャンゴのひとつは、疎結合を保証するために設計されています。いくつかの制御カップリングはdjango.shortcutsモジュールに含まれます。

あります  get_list_or_404() 動作原理の機能と  get_object_or_404() 同じであることを除いて、  get() 関数が置き換えられている  filter() 機能。リストが空の場合、それがスローされます  Http404 例外を。

しようとする自分自身のコンテンツ。

します。http:// localhost:8000 Baocuoは次のように見つかった:あなたは複数のプロジェクトへの直接アクセスを設定した後、

必要性のmysite.urls.py、プラス:パス(「)polls.urls」「を、(含める」)、プロジェクトへのアクセスで、デフォルトは世論調査に入っ指定されている/パスを見つけるのurls.py。

urlpatterns = [ 
        パス('' 、(含める' polls.urls ' )、)
    パス(' expollsを/ '(含む、' expolls.urls ' ))
    パス(' ポーリングを/ 'としては、(' polls.urls ' ) )、
        パス(' 管理/ ' 、admin.site.urls)
]

崇明、あなたが名前空間のURLを追加することができ、複数のアプリケーションがあります。対応するプロジェクトファイルを変更するのurls.py。プロパティAPP_NAMEを追加=「」

django.urls インポートパスを

からインポートビュー

APP_NAME = ' 世論調査' 
urlpatterns = [ 
    パス(''、views.index、名前= ' インデックス' )、
    パス(' <整数:question_id> / '、views.detail、名前= ' 詳細' )、
    パス(' <INT:question_id> /結果/ '、views.results、名前= ' 結果' )、
    パス('<整数:question_id> /投票/ 'views.vote、名前= ' 投票" )、
]

名前空間の詳細ビューを指すように変更:世論調査/テンプレート/ポーリング/ index.htmlを

<LI> <a href= "{% URL'polls:detail' question.id %}"> {{}} question.question_text </a>の</ LI>

 

容易に個人的な記録。

 

おすすめ

転載: www.cnblogs.com/why-home/p/12373305.html