【问题标题】:How do I implement django-articles app into a new project via pip?如何通过 pip 将 django-articles 应用程序实施到新项目中?
【发布时间】:2012-09-22 21:17:54
【问题描述】:

我正在尝试从 cheeseshop 安装以下 django 应用:

https://bitbucket.org/codekoala/django-articles/overview

这是我使用 Django 的第一天,我不确定如何将应用的文件夹填充到我的项目中。

到目前为止,我已经将应用 pip 安装到了我的 virtualenv 中。这可以通过打开 python shell 来验证,当我运行“导入文章”时没有错误

我已编辑 settings.py 文件并将其添加到已安装应用程序列表中。我相信这没问题,因为我可以运行 runserver 而不会出现任何“找不到模块”错误。

syncdb 也运行良好。

我从这里去哪里?

即,我希望网站中有一个名为“新闻”的部分使用此应用程序。我还没有配置路由或其他应用程序,只是一个带有 psycopg2 的干净 Django。

编辑:启用默认管理站点,我可以在那里管理文章,但仍然不确定当我没有为它们创建应用文件夹时这些将如何显示在站点上。在尝试启动应用文章时,我被警告它与现有模块的名称冲突..

【问题讨论】:

    标签: django pip cheeseshop


    【解决方案1】:

    无需创建名为文章的新应用。由于您可以通过 python 控制台导入文章,因此您已成功安装它。您可以在文件夹 site-packages 的 virtualenv 文件夹中找到它:

    /path_to_your_virtualenv/.virtualenvs/<virtualenvname>/lib/<pythonversion>/site-packages
    

    您可以使用这个通过 pip 安装的应用程序,因为它是一个位于您的项目文件夹中的应用程序。

    【讨论】:

    • 谢谢汤姆。抱歉,我仍然有点不清楚如何实现它以便可以公开访问。我是否需要创建任何新的应用程序/模型来在 /News/ 上显示文章,或者只是向 urls 文件添加某种路由?
    • 好的,我想我现在明白了...我将我的项目根设置在 virtualenv 路径之上,并假设一旦创建项目,我就不会接触 virtualenv 中的任何东西。感谢您的帮助!
    【解决方案2】:

    您只需要在您自己的 urls.py 中包含文章 url。既然你在新闻下说你想要它,这样就可以了:

    urlpatterns = patterns('',
        (r'^news/', include('articles.urls'),
    )
    

    请注意,尽管readme for the articles app 意味着您需要创建自己的基本模板才能继承它。只需在您的项目下名为templates 的目录中创建一个base.html 文件,给它一个基本的HTML 结构,然后将{% block content %}{% endblock %} 放在相关位置(自述文件中提到的其他块也是如此)。

    无论如何,您都应该学习 Django 教程,以准确了解 URL 和模板的情况。

    【讨论】:

    • 谢谢丹尼尔,抱歉,我不能用我的新帐户奖励两个答案或投票任何东西。当我在 urls.py 中添加这样一个路由时,我得到了name 'articles' is not defined,我认为我需要在该文件的顶部进行导入,例如from ?? import articles 管理员看起来像这样:from django.contrib import admin 作为文章文件夹位于站点包的根目录中,如何引用它进行导入?
    • 确保您已将'articles.urls' 放在引号中,就像我在上面所做的那样,则无需导入它。否则,您可以直接使用import articles,因为正如您所说,它直接在站点包中。
    • 完美,谢谢!我肯定会再读几次教程;)
    猜你喜欢
    • 1970-01-01
    • 2020-02-03
    • 2018-01-28
    • 2013-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 2020-03-08
    • 1970-01-01
    相关资源
    最近更新 更多