【发布时间】:2014-01-16 15:09:34
【问题描述】:
我需要在 Django 项目中设置自定义响应头。
这是来自facts/urls.py的代码:
d = {
'app_name': 'facts',
'model_name': 'Fact'
}
urlpatterns = patterns('',
(r'^$', 'facts.main', d),
)
这种方法显示来自模型的数据,但我不确定是否可以在此处设置自定义标头?
我还尝试了另一种方法 - 我使用以下函数创建了 fact/views.py:
def fact(request):
response = render_to_response('facts.html',
{'app_name': 'facts',
'model_name': 'Fact'},
context_instance=RequestContext(request))
response['TestCustomHeader'] = 'test'
return response
并更改了 urls.py 中的代码:
(r'^$', facts.views.fact),
此方法设置自定义标题,但不显示模型中的数据。
有什么帮助吗?
【问题讨论】:
-
您的问题不清楚,因为我没有看到任何有关您的回复的标题操作... Django 涵盖文档中的标题:docs.djangoproject.com/en/1.6/ref/request-response/…
-
我在第二种方法中添加了自定义标题(TestCustomHeader),并且可以在萤火虫中看到它。但是在这种情况下没有加载模型。
-
为什么要查看模型数据?您实际上并没有在任何地方获取任何模型数据...您应该查看 Django 文档以进一步了解:docs.djangoproject.com/en/1.6/topics/http/views
-
我只是不想放大量代码。人们不会阅读它......我在事实应用程序中有 Fact 模型,它在第一种方法中工作正常(在 urls.py 中),但它没有加载到 views.py 中。我不明白为什么
-
因为 views.py 与 urls.py 的工作方式不同,实际上你应该处理代码,而不是阅读器,用任务重载 urls.py 也不可读,开发人员期望查看数据在相应的地方可以找到。在您的视图函数中,您必须实际进行操作(调用模型,获取数据并将它们分配给响应)这不是 Django 方式,这是大多数框架在处理视图/控制器时的工作方式。
标签: python django custom-headers