Re: [問題] Django site的首頁與登入頁面該放哪邊?

看板Python作者 (←這人是超級笨蛋)時間12年前 (2013/04/27 00:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《NewSpec (新規格)》之銘言: : 最近在試著用Django做一個網站 : 這個網站主要有兩大功能, 會以app的方式製作 : 但現在比較疑惑的地方是: : 首頁以及登入的template和view該放哪邊? : 我目前的project layout是這個樣子: : <project_name>/ : - manage.py : - requirements.txt : - <project_name>/ : - __init__.py : - settings.py : - url.py : - wsgi.py : - <app1>/ : - <app2>/ : 當然, 網站裡面關於兩個網站的功能當然就透過 app1/ 和 app2/ 存取 : 但像首頁這種東西呢? / 以及 /index : 還有註冊與登入頁面 /signup 和 /login : 我該把它們組織到專案的哪邊呢? 是<project_name>目錄下嗎? : 或者開一個名叫"general"的app來放這些與site相關而與個別app功能較無關的view? : 請大家能給予一些指導, 謝謝:) 這問題問 10 個人可能會有 11 個答案XD 基本上你高興就好, Django 不管, 其他人大概也不會管 我個人習慣的 layout 是這樣 <project_name>/<project_name>/ 各 app module 這一層放有的沒 這個目錄是版 urls.py 的東西, 例如 本控制的 root views.py IDE 的檔案, directory templates/ static 和 wsgi.py media 目錄等 manage.py settings.py 所以首頁的 view 就會在第三層的 views.py Template 當然就是在同一個目錄的 templates 我也有看過有人是把 <project_name> 和其他 apps 放在同一級, 這樣也是合理 還有另外一派比較極端的是認為首頁應該特殊處理 這類人的首頁沒有自己寫的 view logic, 只用一個 TemplateView.as_view 首頁 template 的位置是用 settings 裡的 TEMPLATE_DIRS 來找 然後頁面裡的所有東西都靠 template tags 來處理 (各 tag 的位置視功能塞到各個 app 裡面) 不管你用哪一種方法, 其實增加一個 core app 都會是個好主意 把一些共通的底層邏輯獨立出來, 不要每個 app 互相引用來引用去 最好有個明確的主從架構, 這樣也可以幫助避免 circular import 的問題 -- 「我最想要的同伴嘛,首先是要笑口常開,其次是我們能永遠不會發生誤會。 如果這些都能辦到的話,嗯,如果他是世界上第一流的橋手,也還不錯。」 -- 班尼多‧加羅素,前義大利藍隊成員 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.81.146 ※ 編輯: uranusjr 來自: 114.32.81.146 (04/27 00:37)
文章代碼(AID): #1HUgV0PR (Python)
文章代碼(AID): #1HUgV0PR (Python)