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