0

我爲使用Django作爲管理後端的網站創建了一個數據庫。然而,因爲託管站點的服務器將無法支持Python,所以我發現自己需要在PHP中做前端,因此我決定使用CodeIgniter和Datamapper來映射模型/關係。CodeIgniter和Datamapper作爲前端,Django Admin作爲後端,數據庫表不一致

但是,DataMapper要求表使用特定的格式才能工作,並且Django使用App名稱作爲表中的前綴以不同方式映射表。我試過在datamapper中使用前綴& join_prefix vars,但仍然沒有正確映射它們。

有沒有人使用過這種組合?如果是的話,如何解決數據庫表名稱的問題是不一致的?有什麼我可以用來讓他們一起工作的嗎?

----編輯:澄清後端--- 讓我澄清一下:我要運行從指向蟒蛇準備服務器的子域管理員。然而,我不能移動主要域名從PHP唯一的網絡服務器,因爲某些限制/約束公司自己進入。並且不想使用隱藏/掩飾由於seo的目的。

我使用的是django管理員,因爲我使用了一些軟件包來製作一個漂亮的/功能性的管理員,比如管理模板的grappelli,以及編輯新聞報道的編輯器等等,也使用photologue來管理照片/畫廊。等等。

回答

0

如果您的問題僅僅是讓Django使用與其他軟件相同的表格,請在模型中使用db_columndb_table參數。

http://www.djangoproject.com/documentation/models/custom_columns/

+0

恰恰相反,Django很好,它的CodeIgniter和DataMapper,我想與Django Tables – Rasiel 2010-03-25 18:06:38

+0

合作,事實證明這是適當的解決方案之後所有,根據需要重命名錶,並在django模型中使用db_table參數。 – Rasiel 2010-04-19 20:55:35

0

兩個明顯的解決方案:

  1. 而是黑客一個或兩個彼此很好地工作的,仿效PHP /笨代碼Django管理。 **
  2. 獲取支持Django的服務器。在Django中製作前端。

從時間上看,這兩種解決方案中的任何一種都不會比試圖使用不同編程語言的兩種不同框架良好地結合在一起。我無法想象將來需要進行維護以確保永久兼容性和互操作性。

而且,我認爲說:

我創建了一個網站我使用的Django的管理後臺

你真的意味着你使用Django建模您的應用程序做一個數據庫,並且您還打算管理由Django管理員中的此建模產生的數據庫。 (在這種情況下,您的模型圖層已經完成,應該嘗試在Django中構建網站的其餘部分)

如果是這種情況,那麼在您的模型中,您將需要定義確切的列名稱(db_column) DataMapper可以預期,以及手動定義表名(db_table),包括M2M表。

如果DM需要不同的名稱,您可能還必須手動定義所有主鍵。

另外:

如果服務器不支持的Python,你在哪裏要運行後端?不同的服務器本地?這個計劃沒有太大的意義。

**我不會建議嘗試這個。在我知道Django的管理員之前,我一直試圖創建一個實際上與Django的管理員分享許多相同想法的CI後端。當然,一旦發現Django,我立即放棄了CI工作,並繼續開展我發現的更加驚人的框架,這個框架的開發速度要快得多。

+0

因爲在這個項目中給我的限制,你的選擇幾乎是不可能的。 我的確使用Django爲我的應用建模,並打算使用管理員來管理網站。 你說的是將數據庫名稱更改爲CodeIgniter所需要的,然後使用db_table/db_column名稱相應地在Django中進行更改? – Rasiel 2010-03-25 18:08:15

+0

讓我澄清一下:我將從一個指向Python準備服務器的子域運行管理員。然而,我不能移動主要域名從PHP唯一的網絡服務器,因爲該公司自己進入某些約束/約束力合同。 我使用的Django管理員,因爲我使用一些包,使一個漂亮/功能管理員,例如管理模板的grappelli,以及用於編輯新聞報道的編輯器等,還使用photologue來管理照片/畫廊。 – Rasiel 2010-03-25 19:26:11

0

因此,據我所知,你只是因爲Django的管理使用Django的計劃,並且你正嘗試使用CI作爲實際站點,因爲服務器運行PHP,對吧?

那麼,爲什麼你不使用框架產生類似Django的管理員,但你可以在你的服務器上運行?

Symfony Framework有一個非常好的admin generator,本着Django的精神,你也許可以在你的服務器上運行它。這會讓你免於後來的維護噩夢,因爲@ jonwd7回答了

+0

這意味着失去了Django自帶的可重用軟件包的優勢,例如grappelli,pressroom,photologue等,這是我爲管理員使用django的主要原因。 – Rasiel 2010-03-25 19:28:48