&引用;实用django项目,第二版,源代码

&引用;实用django项目,第二版,源代码,django,Django,在James Bennett的“实用django项目”(第二版)中,作者利用django.contrib.admin构建了一个内容管理系统。问题是它不起作用 我在第三章,他通过添加一个新的管理模块,增加了关键字搜索功能。问题是我不能让它工作。浏览网页,我发现不断有人抱怨,尽管书中有这样的说法,但作者没有提供工作资料。问题的核心在于,他似乎依赖于django平台的内部结构,这些内部结构随着每个小版本的发布而变化,因此他的解决方案被证明是脆弱的 尽管如此,我还是想努力解决这个问题 在第三章中,他通过

在James Bennett的“实用django项目”(第二版)中,作者利用django.contrib.admin构建了一个内容管理系统。问题是它不起作用

我在第三章,他通过添加一个新的管理模块,增加了关键字搜索功能。问题是我不能让它工作。浏览网页,我发现不断有人抱怨,尽管书中有这样的说法,但作者没有提供工作资料。问题的核心在于,他似乎依赖于django平台的内部结构,这些内部结构随着每个小版本的发布而变化,因此他的解决方案被证明是脆弱的

尽管如此,我还是想努力解决这个问题

在第三章中,他通过创建一个新的SearchKeyword模型,然后创建并注册一个SearchKeywordAdmin类,添加了一个新的SearchKeyword管理函数

模型(在cms/search/models.py中:

class SearchKeyword(models.Model):
    keyword = models.CharField(max_length=50)
    page = models.ForeignKey(FlatPage)

    def __unicode__(self):
        return self.keyword
类(在cms/search/admin.py中):

我没有看到编译错误,但在管理页面上什么也看不到

要么我做错了什么,要么django.contrib.admin中的某些内容发生了更改,使此代码不再工作


有人有什么想法吗?我需要做些什么来实现这一点?

我在Ubuntu Jaunty上用Django 1.2.1和Python 2.6.2尝试了你的代码。模型如预期的那样出现在管理屏幕上。你能发布更多关于你正在使用的Django/Python版本的详细信息吗?

我在Ubuntu Jaunty上用Django 1.2.1和Python 2.6.2尝试了你的代码Ubuntu Jaunty。该模型按预期显示在管理屏幕上。您能发布更多关于您正在使用的Django/Python版本的详细信息吗?

您的代码在我看来很健康,因此您没有发布的部分是错误的

您正在导入所需的所有内容吗

  • 您的
    models.py
    需要
    django.db.models
    FlatPage
    (可能来自
    django.contrib.FlatPage.FlatPage
  • 您的
    admin.py
    需要来自django.contrib的
    导入管理
    和来自cms.search.models的
    导入搜索关键字

您的设置中是否有cms.search?

您的代码在我看来很健康,所以您没有发布的内容是错误的

您正在导入所需的所有内容吗

  • 您的
    models.py
    需要
    django.db.models
    FlatPage
    (可能来自
    django.contrib.FlatPage.FlatPage
  • 您的
    admin.py
    需要来自django.contrib的
    导入管理
    和来自cms.search.models的
    导入搜索关键字
您的设置中是否有cms.search?

您有:

from django.contrib import admin
admin.autodiscover()
在您的
urls.py
?中,还有以下内容:

urlpatterns = patterns('',
    ...
    (r'^admin/', include(admin.site.urls)),
)
您是否在“设置”中打开了管理应用程序

INSTALLED_APPS = (
    ...
    'django.contrib.admin',
)
你有:

from django.contrib import admin
admin.autodiscover()
在您的
urls.py
?中,还有以下内容:

urlpatterns = patterns('',
    ...
    (r'^admin/', include(admin.site.urls)),
)
您是否在“设置”中打开了管理应用程序

INSTALLED_APPS = (
    ...
    'django.contrib.admin',
)

您可能需要再次简单地运行
manage.py runserver
以允许管理部分重置。

您可能需要再次简单地运行
manage.py runserver
以允许管理部分重置。

谷歌显示了以下内容:这就是您正在寻找的吗?根据当前的django文档,源代码是正确的。在fac中t、 它看起来和那里的例子一模一样;)谷歌发现了这样一个问题:这就是你要找的吗?根据目前的django文档,源代码是正确的。事实上,它看起来和那里的例子一模一样;)我运行的是Lucid,带有存储库提供给我的django和Python版本。我还没有检查版本。我在上班前贴了这封信,我要到今天晚上才能回复。当我这样做时,我会检查版本。可能是我得到了django的1.0版本,如果是的话,我会考虑下载最新版本。如果不是这样,我将从上面提到的两个站点下载代码,然后分别尝试。如果其中一个有效,我将与我的代码进行比较,看看是否能够识别出我做错了什么。谢谢。我正在运行Lucid,以及存储库提供给我的django和Python版本。我还没有检查版本。我在上班前贴了这封信,我要到今天晚上才能回复。当我这样做时,我会检查版本。可能是我得到了django的1.0版本,如果是的话,我会考虑下载最新版本。如果不是这样,我将从上面提到的两个站点下载代码,然后分别尝试。如果其中一个有效,我将与我的代码进行比较,看看是否能够识别出我做错了什么。谢谢