15

我正在尝试了解Pinax并计划在我的下一个项目中使用它。

我从pinax 基本项目开始,现在我有一些东西可以与runserver一起使用。

现在,我知道我可以自定义从 pinax 获得的初始设置,并根据我的要求自定义配置文件、主题等。

但这就是 pinax 提供的全部内容吗?

我在这里很困惑,就像我想在我的项目中使用pinax phileo应用程序,那么 pinax 如何帮助我做到这一点?

我的努力 :

  • 我搜索并发现我必须安装它pip install phileo
  • 然后,INSTALLED_APPS根据需要添加并使用它。

但是 pinax 在这件事上做了什么?

Pinaxphileo在其网站上有特色,但为什么呢?因为我可以像我的非 pinax django 项目中的任何其他应用程序一样使用它。

所以,简而言之,我的问题是:

pinax 在基础项目和 pinax 附带的默认模板之后提供了什么?

对,现在感觉 pinax 只是提供了一个基础项目,其中一些应用程序已经在使用一些默认模板。[ 而已 ?]

那么,pinax 网站上没有包含基础项目的其他应用程序呢?

请帮助消除混乱!

更新 我的问题有点——当我们已经将 pinax-ecosystem 列在 djangopackages.com 之类的地方时,它们的意义是什么?

4

5 回答 5

9

您似乎假设除非所有Pinax 都有用,否则 Pinax 作为一个项目是没有用的。Pinax 从来都不是一个单一的东西,你在给定的项目中使用所有这些东西。

如果您觉得对您有帮助的只是项目布局,那很好。Pinax 建议使用标准项目布局(您可以单独使用 pinax-project-zero)。

如果您发现所有有用的是 pinax-project-account(django-user-accounts 和其他一些东西,已经与引导类命名后的模板集成)作为您网站的起点,那就太好了。Pinax 从根本上说是为了让您更快开始,而 pinax-project-account 是大多数拥有用户帐户的网站的合适起点。

一旦你有了一个项目,你就可以自由地添加任何你想要的 Django 应用程序。没有什么需要您使用 Pinax 应用程序。“所以”,你问,“为什么 Pinax 还要费心开发应用程序?”。

好吧,因为应用程序不是孤立的。可重用性不仅在应用程序级别,还包括应用程序组。举个例子,一个等候名单应用程序、一个邀请应用程序、一个推荐代码应用程序、一个积分应用程序、一个徽章应用程序。当然这些可以独立开发和使用。

但是,如果它们以相同的思维方式开发,您可以确保等待列表应用程序和邀请应用程序以及推荐代码应用程序与用户帐户应用程序一起工作(并且不要重复任何内容)。您可以确保推荐代码应用程序与积分应用程序很好地配合,而积分应用程序与徽章应用程序配合得很好。您可以确保您的论坛应用程序不会尝试执行您的审核应用程序已经提供的操作。或者每个应用程序都没有尝试以自己的方式解决头像。

所以 Pinax 并没有试图成为应用程序的“目录”。这是一系列应用程序、主题和入门项目,它们相互考虑。

于 2012-06-06T05:54:05.927 回答
5

Pinax 只是 django 与其他 django 插件的混合。您必须启用它们并单独设置它们。要在 pinax 中使用每个单独的应用程序,您必须阅读该特定应用程序的文档并进行适当的设置(可能包含此处文档的应用程序和存储库列表:http: //pinaxproject.com/ecosystem/

有些人喜欢 pinax,但我发现它比解决方案更麻烦。最后 pinax 不能开箱即用。您必须自定义所有内容,但同时您将自己定位为使用不需要的捆绑包。我建议改为启动一个项目并单独安装您需要的包,甚至可以在这里找到更多:http: //djangopackages.com/。特别是,如果它是一个大项目,因为如果你自己捆绑/设置所有东西,你就会知道这一切的来龙去脉。

于 2012-05-13T04:34:05.337 回答
3

好处很简单——当启动一个新站点时,与空的 Django 项目相比,Pinax 为您提供了一些领先优势。

考虑一下:您正在启动一个需要用户帐户管理(包括电子邮件确认、用户配置文件、密码重置等)和通知的新站点。

使用 Pinax,您可以通过几个命令获得此功能:

$ mkvirtualenv mysite
$ pip install pinax
$ pinax-admin setup_project -b basic mysite
$ python manage.py syncdb
$ python manage.py runserver

你现在有:

  1. 用户管理所需的几乎所有内容
  2. 您总是添加的所有内容,settings.py例如 PROJECT_ROOT
  3. “关于”网址 -(关于 / 条款 / 隐私 / DMCA / 接下来是什么)
  4. Django 调试工具栏
  5. i18n 已经设置好了。
  6. 在生产中使用压缩的静态文件
  7. 默认主题(使用 Bootstrap)
  8. 一大堆其他的东西

从那里,您可以像添加任何 Django 项目一样添加应用程序并构建/自定义模板。不同之处在于您刚刚为自己节省了几个小时安装和配置应用程序的时间。

关于主题,他们试图将主题推广为仅包含静态文件的应用程序的想法。查看默认主题的repo以了解其工作原理(它基本上只是一个带有静态文件和模板的应用程序)。

如果您是构建一个属于您自己项目的单个站点的业余爱好者,请不要为 Pinax 烦恼。

如果您是一名不断从头开始构建新网站的开发人员,Pinax 可能是您的朋友。

于 2012-05-24T13:50:39.060 回答
3

pinax 解决的问题是,它避免了您四处寻找可以做某事的最佳应用程序,因为 pinax 为您将其捆绑在一起。

因此,如果您想快速启动并运行某些东西,pinax 让这一切变得简单。例如,到目前为止,它是让 django 项目与 twitter bootstrap + 其他常用插件一起运行的最快方法。

于 2012-05-13T12:24:11.680 回答
1

Pinax 0.7 与一些应用程序和启动项目(如 social_projects)捆绑在一起,可用于更快地构建网站,但我在 pinax 0.9 中发生了变化。

我认为 pinax 出于某些原因重新改造了它的结构(例如,在 pinax 0.7 中,有些人抱怨自定义启动项目或仅使用某些启动项目的子集很麻烦,因此 pinax 0.9 可以提供更大的灵活性)。

pinax网站中包含的一些应用程序以某种方式相互耦合,因此更容易将它们部署在一起,有时您只需安装它们,应用程序就会相互通信。

于 2012-05-21T21:14:00.100 回答