【问题标题】:Practical Django Projects - Pages 71 and 80实用的 Django 项目 - 第 71 和 80 页
【发布时间】:2011-08-05 01:59:50
【问题描述】:

我正在阅读“实用 Django 项目”一书。这是一本不错的书。不过我有几个问题:

在第 71 页,有以下代码:

from django.conf.urls.defaults import *
    from django.contrib import admin
admin.autodiscover()

from coltrane.models import Entry

entry_info_dict = {
    'queryset': Entry.objects.all(),
    'date_field': 'pub_date',
}

...

但是,该文件中尚未定义变量“pub_date”!

在第 80 页,有人告诉我应该在 Django 设置文件中放置两个变量 DELICIOUS_USER 和 DELICIOUS_PASSWORD。然后我应该用

调用那个文件
from django.conf import settings

那个 Django 设置文件在哪里?在 C:\Python27\Lib\site-packages\django\conf ?

【问题讨论】:

    标签: python django python-2.7 project


    【解决方案1】:
    1. pub_date指的是coltrane.models.Entry属性pub_datesee the source

    2. from django.conf import settings 导入您的项目settings.py,因此您必须在project/settings.py 文件中定义您的设置。这是官方文档中关于using settings in python code的一些文档

    【讨论】:

      【解决方案2】:

      pub_date 正在引用Entry 模型中定义的字段。 Django 稍后会按名称查找字段,这就是为什么它用引号引起来(否则会触发NameError)。

      在models.py中,你应该有类似的东西:

      class Entry(models.Model):
          ...
          pub_date = models.DateField(...)
      

      设置文件通常称为settings.py,位于项目的根文件夹中(在manage.py 旁边等)。

      【讨论】:

        猜你喜欢
        • 2013-03-19
        • 2017-10-30
        • 2016-01-23
        • 2020-08-23
        • 2012-02-16
        • 2017-10-05
        • 2012-09-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多