我是Django的新手,我来自Drupal家族。我们有Organic Groups,我们可以用它来创建内容和子网站组;我怎么用Django做那样的事情?
假设我正在使用Django为我的公司制作这个网站,我公司的每个部门都需要网站上的私人部分。例如,设计人员有自己的网站部分,后端开发人员无法进入。而后端开发人员也会有同样的事情。
我想以这样的方式构建网站,即我只是登录Django管理员并使用来自其他组或类似设置的相同设置添加新类别或子网站或组(无论Django术语是什么)。
答案 0 :(得分:0)
这取决于你所说的“私人部分”。您应该尝试从不同的角度来看待它:
Django通过“apps”分割网站的功能。每个应用程序都会执行特定的操作,并在数据库中获取一组表。应用可以访问彼此的表格。例如,其他应用程序访问Auth应用程序的用户,组和权限表是很常见的。这是“子网站”的意思吗?
对于访问控制,可以将用户分配到组,并且可以为其分配各种administrative permissions。为每个模型(即数据库表)自动生成添加,更改和删除权限。您还可以添加自己的权限。
我认为您无法将设计人员与Django级别的后端开发人员分开。您需要执行其他操作,例如为每个维护单独的源存储库并将它们合并以创建可用站点(每个组将具有对另一个的只读访问权限)。这实际上取决于你的团队的纪律,因为这些元素可以交织在一起。
Django建议静态文件由其他东西提供,比如直接来自你的web服务器,或者来自另一台带有简单HTTP服务器的机器(没有CGI / WSGI /无论如何)。这是因为与直接服务相比,Django只能减慢静态文件的速度。但是,对于测试,ther是您可以启用的静态页面服务器。
鉴于此,静态文件通常等同于CSS,图像,媒体和JavaScript。其中,后端人员可能想要搞乱JS,但就是这样,所以这可能是设计师的回购。
Django树本身具有网站和应用程序的代码。这几乎都是后端的东西。 HTML模板文件例外,位于每个应用程序的“templates”目录中。这些是使用后端视图代码提供的上下文数据填充的文件。我不知道这对你们来说是前端还是后端;如果有很多CSS纪律,它可能主要是后端,但我认为这不太可能。
你可以在Django做很多事情,让一方或另一方的生活更轻松。例如,模板标签允许自定义Python代码生成HTML以插入页面。我使用它们来生成标签栏和窗格,例如。
如果没有更好地了解您的需求,我真的无能为力。问题仍然模糊不清。你可能最好花一两天的时间浏览教程,看看Django的观点是什么,然后弄清楚它是如何(或者如果!)适合你的需求。