【问题标题】:Django View ValueError when render_to_responserender_to_response时的Django查看ValueError
【发布时间】:2011-10-24 19:07:59
【问题描述】:

我正在阅读一些为即将到来的项目学习 Django 的教程,但我无法正确加载模板。调试模式返回一个“ValueError”,表示它“需要多个值才能解包”。我正在运行 Django 的捆绑服务器。知道有什么问题吗?任何帮助表示赞赏。

这是跟踪:

Traceback:
File "/Library/Python/2.7/site-packages/django/core/handlers/base.py" in get_response
  111. response = callback(request, *callback_args, **callback_kwargs)

File "/Users/tinwaijosephlee/Sites/djcode/dev2/../dev2/views.py" in hours_ahead
  26. return render_to_response('plus.html', {'offset': offset, 'dt': dt})

File "/Library/Python/2.7/site-packages/django/shortcuts/__init__.py" in render_to_response
  20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)

File "/Library/Python/2.7/site-packages/django/template/loader.py" in render_to_string
  181. t = get_template(template_name)

File "/Library/Python/2.7/site-packages/django/template/loader.py" in get_template
  157. template, origin = find_template(template_name)

File "/Library/Python/2.7/site-packages/django/template/loader.py" in find_template
  128. loader = find_template_loader(loader_name)

File "/Library/Python/2.7/site-packages/django/template/loader.py" in find_template_loader
  93. module, attr = loader.rsplit('.', 1)

这是我的视图代码:

from django.shortcuts import render_to_response
from django.http import HttpResponse

import datetime
import sys
import os

def current_datetime(request):
    now = datetime.datetime.now()
    return render_to_response('current_datetime.html', {'current_date': now})

def hours_ahead(request, offset):
    offset = int(offset)
    dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
    return render_to_response('plus.html', {'offset': offset, 'dt': dt})

这是我的 urls.py

from django.conf.urls.defaults import *
from dev2.views import *

urlpatterns = patterns('',
    (r'^time/$', current_datetime),
    (r'^time/plus/(\d{1,2})/$', hours_ahead),
)

这是 settings.py 中的模板加载器配置

TEMPLATE_LOADERS = (
    '/Users/some_user_name/Sites/djcode/dev2/template',
)

这是模板 html 文件

<html><head></head><body>It is now {{ current_date }}.</body></html>

【问题讨论】:

    标签: python django templates render


    【解决方案1】:

    你在 settings.py 中设置了错误的东西。 TEMPLATE_LOADERS 用于查找和加载模板的 Python 代码。你想把你的目录放到TEMPLATE_DIRS

    【讨论】:

    • 非常感谢。有用。我想我需要更仔细地阅读手册。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-27
    • 2017-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-01
    相关资源
    最近更新 更多