2010-07-29 79 views
0

想到這一點:如何自動從CSV文件在Django創建一個表及其相關model.py

你建立某種形式,它要求你的應用程序名稱的CMS和CSV文件爲那個應用程序。 然後它會自動創建該應用程序,根據csv列創建所需的model.py,爲其激活管理頁面,並且只允許您通過django admin擁有對此新表的完全權限,然後它將該應用程序插入到url.py中,併爲其創建view.py。

然後,您只需上傳一個csv,命名您的應用和whola !,您就可以使用管理頁面。

現在,有無論如何創建一個應用程序或至少一個model.py出django中的csv文件或是否有任何Django的應用程序可以做到這一點?

注:透過現象看本質(./manage.py inspectdb> models.py)

+0

您打算指定csv文件中每個列的類型嗎?編輯model.py對我來說似乎很容易,但它是一個有趣的想法...... – Faisal 2010-07-29 03:58:29

+0

是的,一旦csv加載完成,每列將自動檢測到(最好的情況),一個下拉菜單將有在按下「開始」之前,顯示您可以將每個字段設置爲您想要的任何類型的位置。只有這樣它纔會創建model.py,syncdb,url和view並設置更改。 – un33k 2010-07-29 04:04:38

+0

我認爲目標是使應用程序創建更容易。您可以編寫一個工具,以給定的格式進行代碼生成。但是,您可能會花更多時間在您的代碼生成工具上。試一試,看看它是如何發展的。如果django編碼開銷打擾了你,你可能想嘗試一個更輕的框架。 – monkut 2010-07-29 05:24:29

回答

0

雖然這並不涉及創建一個實際models.py和應用程序,你可能想看看dynamically creating Model classes at runtime。您可以將「信息」模型存儲在動態模型中,然後讓CSV視圖將數據導入到這些模型中,創建類並向管理員註冊。或類似的東西。

通過models.py,views.py等創建實際的應用程序目錄非常簡單(只需創建目錄,創建文件並根據CSV數據爲其寫入格式化的字符串)。編輯項目的 settings.py和urls.py並重新加載模塊也不會太困難。但是,如果不先查看它們,我不會相信自動生成的Django應用程序。

相關問題