Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Django具有共享代码库但数据不同的多个域_Django_Url - Fatal编程技术网

使用Django具有共享代码库但数据不同的多个域

使用Django具有共享代码库但数据不同的多个域,django,url,Django,Url,我想做的最好的解释就是看看它是如何工作的: 每个博客都被分配到一个新的子域,但用户也可以使用自己的域。可以使用简单的web界面分配自定义域 每个博客都有自己的内容、主题等 所有博客共享相同的代码库 在Django有可能做同样的事情吗 我对实现子域不感兴趣,但我想要其他特性 对于我来说,找到一种方式使域不必在配置文件中硬编码就可以工作,这一点很重要。域分配的动态特性使管理大量域成为可能。如果可以对数据库表进行域匹配,这将是理想的 我使用nginx和uwsgi。是的,但与开箱即用的Wordpre

我想做的最好的解释就是看看它是如何工作的:

  • 每个博客都被分配到一个新的子域,但用户也可以使用自己的域。可以使用简单的web界面分配自定义域
  • 每个博客都有自己的内容、主题等
  • 所有博客共享相同的代码库
在Django有可能做同样的事情吗

我对实现子域不感兴趣,但我想要其他特性

对于我来说,找到一种方式使域不必在配置文件中硬编码就可以工作,这一点很重要。域分配的动态特性使管理大量域成为可能。如果可以对数据库表进行域匹配,这将是理想的


我使用nginx和uwsgi。

是的,但与开箱即用的Wordpress安装相比,它需要在Django中进行更多的工作,但会为您提供更多的灵活性

你可能想看看django。然而,我不认为它能做你想做的一切


一个更模块化的系统是让您编写一个脚本,当调用该脚本时,它将引导一个新的db模式new virtuelenv,在其中安装所有必要的东西,将新站点的站点配置添加到nginx/apache,然后重新启动nginx/apache。代码可以来自相同的目录,但由于每个站点将在其自己的virtualenv上运行,因此它将更加安全、可靠和容错。但是,正如您所看到的,这需要一些工作,但根据您的要求,这是最灵活的方法。

这种方法有两个问题:1。每次添加新域时,我都必须重新启动nginx。这将导致所有用户(不仅仅是正在编辑其域的网站)的连接丢失和停机。对于许多域,这会导致一个重大问题。2.如果我想修改代码库,我必须修改每一个代码实例,这意味着每个域都要修改一次。这种方法似乎不是最优的。完全同意。不过,它确实为基础架构提供了一个良好的开端,使其能够很好地扩展,因为您可以运行结构脚本而不是脚本。。。但在这一点上,你需要计算机集群,每个网站都必须运行在至少两个盒子上才能不停机。实际上,我希望在不久的将来做类似的事情,所以我认为现在最快最简单的方法就是这种简单的方法。如果你有更优雅的想法,请分享。