[表示 : 全て 最新50 1-99 101- 201- 2chのread.cgiへ]
Update time : 04/04 17:56 / Filesize : 51 KB / Number-of Response : 200
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【Python】Webフレームワーク Djangoスレ Part2



1 名前:nobodyさん mailto:sage [2011/12/15(木) 23:47:02.03 ID:???]
LL言語「Python」で実装されたWebフレームワーク Django
Web開発する上で必要となる機能がそろっており、
管理サイト画面を自動作成できるなどの特色を持ちます。

前スレ
【Python】Webフレームワーク Djangoスレ Part1
kohada.2ch.net/test/read.cgi/php/1156612854/

本家サイト
www.djangoproject.com/

日本語ユーザ会「Djangoと日本の仲間たち」
www.djangoproject.jp/

日本語解説サイト
ttp://ymasuda.jp/python/django/index.html

解説本(英語) 「Pro Django:」2006年10月30日出版予定
ttp://www.amazon.co.jp/gp/product/1590597257/

あなたがDjangoを利用すべき10の理由(和訳)
ttp://www.everes.net/2006/jan/30/3042306a305fdjango3092522975283059304d10306e74067531/

IT Pro記事
ttp://itpro.nikkeibp.co.jp/article/NEWS/20060410/234868/

IBM developerWork記事
ttp://www-06.ibm.com/jp/developerworks/linux/060802/j_l-django.shtml

73 名前:nobodyさん mailto:sage [2012/04/08(日) 01:26:13.09 ID:???]
相対じゃなくて絶対でやるといいよ

相対 {% extends "../master.html" %}
絶対 {% extends "master/master.html" %}

でsettings.pyのTEMPLATE_LOADERSに
'django.template.loaders.app_directories.Loader',

これがついてると各アプリケーション・ディレクトリ内にあるtemplatesというディレクトリを探して"master/master.html"という記述ができるようになります

例:アプリケーション名"app_name"を持つdjangoのディレクトリ構造
app_name
- templates (アプリケーション・ディレクトリ内のテンプレート置き場)
- - app_name
- - - master.html
templates (プロジェクト全体で参照するテンプレート置き場)
- base.html

master.htmlからbase.htmlを継承するには、master.html内に{% extends "base.html" %}でok
このようにアプリケーション毎に分離しextendsしていくと綺麗に分離できるよ

74 名前:nobodyさん mailto:sage [2012/04/08(日) 01:27:37.88 ID:???]
importに関してはhandlersディレクトリとlibsディレクトリ両方に__init__.pyが必要
さらにmanage.pyにlibs/handlersを参照できるように以下を記述

import os
import site
import sys

ROOT = os.path.dirname( os.path.abspath( __file__ ) )
path = lambda * a: os.path.join( ROOT, *a )

prev_sys_path = list( sys.path )

site.addsitedir( path( 'handlers' ) )
site.addsitedir( path( 'libs' ) )

new_sys_path = []
for item in list( sys.path ):
if item not in prev_sys_path:
new_sys_path.append( item )
sys.path.remove( item )
sys.path[:0] = new_sys_path

で各ファイルでのimportを以下のように行える

main.py
from handlers import handler1

handler1.py
from libs import user_auth

検証してないけどこんな感じだよ

75 名前:nobodyさん mailto:sage [2012/04/08(日) 02:13:49.24 ID:???]
それとdjangoの基本的なディレクトリ構造は

project_name
- app_name
- - models.py
- - views.py
- - urls.py
- - templates
- templates
- manage.py
- settings.py
- urls.py

となってますので、可能であればhandlers内とlibs内のそれぞれの1と2を別アプリとして分離し作っていくのがあとあと楽と感じます

project_name
- app1
- - models.py(user_auth.py)
- - views.py(handler1.py)
- - templates
- - - app1
- - - - app1.html
- app2
- - models.py (main_datastore.py)
- - views.py (handler2.py)
- - templates
- - - app2
- - - - app2.html
- templates
- - base.html






[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<51KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef