2014-10-30 31 views
3

我需要將現有的桌面Python應用程序轉換成Django支持的網站。要做到這一點,我可能會有幾個Django應用程序各自執行某些事情。將現有的Python程序整合到Django網站

什麼我不知道的是在哪裏把每個應用程序的所有現有的python文件。每個應用程序將需要幾個現有的Python文件。對於基本的Django應用程序,大多數程序邏輯將在views.py中。然而,我將要轉換的桌面應用程序很大,有幾個python文件。換句話說,我不能將整個應用程序轉儲到Django應用程序的views.py文件中。

我的想法是,在views.py我會調用存儲在一個子目錄中的各種現有的python文件。我只是不確定在哪裏放置所有這些文件的最佳做法是什麼?我可以在應用程序中創建一個新文件夾,例如名爲「程序」的程序,它將包含所有的python文件。

我認爲文件不應該進入靜態,因爲這應該用於pdf的,CSS等? 是否可能進入模板?

只是試圖找出這是典型的做法。如果我沒有足夠清楚地解釋我自己,請告訴我。 謝謝。

回答

2

首先,你可以製作views.py,models.py等模塊而不是單個文件。 您還可以添加其他模塊,如core,helpers,您可以將其命名爲包含不一定是視圖的業務邏輯代碼。

例如,我的比較大的Django應用程序大致有以下結構:

my_app 
    views 
    __init__.py 
    example_view_1.py 
    example_view_2.py 
    some_module 
     __init__.py 
     another_view.py 
    ... 
    models 
    (all my app's models) 
    helpers 
    (helper modules) 
    backends 
    (authentication backends) 
    forms 
    (django forms) 

third_party 
    (all third party packages - I use GAE so I must upload them) 
+0

非常感謝。我不完全確定我們在Django中創建自己的目錄結構有多少自由。我想知道是否有一個特定的地方來放置這樣的東西,但似乎並非如此。謝謝 – darkpool 2014-10-30 08:52:51

0

這取決於你在項目中包含的內容。命名約定中有固定裝置,例如views.py,models.py,admin.py,這是標準的東西,但是通過設置導入到項目中的軟件包有插件(如tasks.py,對於Celery)。

這一切都取決於你的項目的複雜性。我正在研究如此之大,以至於我們決定將models.py分成多個模型目錄中的文件。該目錄中的__init__.py從每個文件中導入模型。

Two Scoops基本上是關於如何編寫Django代碼的styleguide。我推薦它。

0

只要您提出,我可能會推薦DjangoGirlsDjangoproject教程。

花了幾個月的時間看着Django來發現我所在的項目,雖然這是強烈推薦的,但它最終有點壓倒性,因此需要一些回填代碼。

我正在尋找一個更小規模的代碼集,Flask最終表現更好,但它也是一個更快的原型製作包,包含我在GitHub上找到的。

相關問題