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