Python 模板

标签 python django

这是我的观点.py:

from django.http import HttpResponse
from django.template.loader import get_template
from django.template import Context
def login(request):
    t = get_template('login.html')
    return HttpResponse(t.render) 

在我的 urls.py 中我放入

(r'^login/', include('project.views.login')),

显示我的模板

我在settings.py中设置了我的模板目录

但是我收到一个名为

的错误
ImportError at /login/
No module named login

怎么了?

最佳答案

include用于包含其他应用程序的其他 url 配置。如果您尝试为一个特定 View 添加 url 模式,则不应使用它。你应该有类似的东西

(r'^login/', 'project.views.login'),

另一个问题是您返回响应的位置。 render 是一种采用上下文的方法(请参阅 the docs )

def login(request):
    t = get_template('login.html')
    c = Context({})
    return HttpResponse(t.render(c)) 

实际上,您通常不会加载模板、渲染它,然后返回响应。有两个快捷功能,renderrender_to_response ,减少重复。

您在这里犯了一些基本错误。我建议您阅读 Django 教程(再次强调,如果您已经看过它们)。 Tutorial 3特别解释了所有这些内容。

关于Python 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8289672/

相关文章:

Dreamhost 上的 Django 1.5 - 未找到静态文件,出现 404 错误

django - 如何在 Django Rest Framework 中重写请求方法(从 'PUT' 变为 'POST' )

python - Django 管理员 CIDR 类型

python - Django - 使用 Formsets 在不通过表的情况下在 2 个模型之间建立多对多关系

python - PEP 8 : library specific imports?

python - Django 从 View 重定向到 root

python - 在 TensorFlow Dataset API 中访问排队项的数量

python - Django 1.8 缓存破坏 + Amazon S3

javascript - django-nvd3 Chart.tooltipContent 不是函数

python - Django Wsgi ModuleNotFoundError : No module named 'project_name'