viewについて

4 views
Skip to first unread message

maru

unread,
May 11, 2009, 10:21:31 AM5/11/09
to django-ja
お世話になってます。maruです。

今回は、viewについて質問です。

ファイルアップロード時に指定されたフォーマットチェックを行う処理をviewにて行おうと考えております。
現在は、viewを使用せずにシステムが動いているのですが、そもそもなぜviewがなくて動いているのか・・??
(valueのチェックなどを行っているソースはあるのですが、テンプレートとのレンダリング処理などは記述されていません。)
Djangoの管理画面を使用する際は、viewはなくても動くのですか??

Djangoのviewは、MVCモデルで言うC(コントローラー)の部分と認識しております。
そのコントローラーがなくて、どこで処理の制御を行っているのでしょうか?
viewが使用されていない場合に必要な設定(ソースなど)はあるのでしょうか。

Django-1.0.2-final\django\views\generic/create_update.pyが使用されているのかな・・?
と思っているのですが。
(viewを使用していない場合、Genericviewが使用されるのですかね?)

以上になります。よろしくお願いいたします。

Takanao Endoh

unread,
May 11, 2009, 11:36:52 AM5/11/09
to djan...@googlegroups.com
遠藤です

Django Adminはdjango.contrib配下に付属しているDjangoアプリケーションの一つで、viewがあります。
http://code.djangoproject.com/browser/django/tags/releases/1.0.2/django/contrib/admin

django.contribについてはこちら。
http://djangoproject.jp/doc/ja/1.0/ref/contrib/index.html


Takanao Endoh
http://www.MiCHiLU.com



2009/5/11 maru <s.marukawa...@nifmail.jp>:

maru

unread,
May 12, 2009, 7:43:44 AM5/12/09
to django-ja
お世話になっております。maruです。
遠藤様、返信ありがとうございます。

>Django Adminはdjango.contrib配下に付属しているDjangoアプリケーションの一つで、viewがあります。
ここのviewがDjango Adminのviewだったのですね。

わからないことだらけで申し訳ないのですが、プロジェクトの下にアプリケーションを作成し、
アプリケーション内でモデルを作成したとします。このときにviewを作成しなかった場合でも、
追加や更新、削除の処理が行えると思うのですがそれは、上記のviewが使用されているのですかね?

Django-1.0.2-final\django\views\generic/create_update.pyのcreate_objectが
使用されていると思っていたのですが・・・


>ファイルアップロード時に指定されたフォーマットチェックを行う処理をviewにて行おうと考えております。
についてなんですが(新しいスレッドを立てたほうが良いのでしょうか??)、以下のことを行いたいと考えております。

・前提条件として、フォーマット定義がDB内に3つ登録してあるものとします。
登録されているデータは、A,B,Cとします。

1.アップロード画面にて、アップロードファイルを選択する。
2.フォーマットを指定する。
3.選択されているフォーマットがAの場合のみ、フォーマットチェックを行う。
  *3.のフォーマットチェックですが、厳密にはアップロードするファイルのヘッダーの部分の一部をスライスし、
   フォーマットリストが記述されているファイルと照合し、照合結果が
   OKの場合→アップロードする
   NGの場合→アップロード画面にエラーメッセージを表示する
   例>
    切り取ったヘッダーが【12345】の場合→OK
    切り取ったヘッダーが【01234】の場合→NG
    フォーマットリスト【56789】
              【23456】
              【12345】
              【09876】

上記のことを行おうと、
Django-1.0.2-final\django\views\generic/create_update.pyのcreate_objectを
アプリケーション内のviewにコピーし、
フォーマットチェックを行うロジックを入れたのですが、フォーマットチェックはされませんでした。

また、現在はviewは使用しておらず、admin.pyというファイル内でバリデーションやクリーニングがカスタマイズされているようです。
ですから現在は、カスタムvalidationにてチェックし、エラーだった場合メッセージを表示するようにしようかと考えていますが、
実装方法がいまいちわかりません。

なかなかDjango、Pythonが理解できていません・・・。
アドバイス、参考ソースなどをいただければ幸いです。
よろしくお願いいたします。

Reply all
Reply to author
Forward
0 new messages