【发布时间】:2013-07-16 23:58:21
【问题描述】:
我正在开发一个 Django 应用程序。我花了大约 40 到 50 个小时研究 Django,我正在准备申请!
但是,我开始遇到“更严重”的错误,有些人可能会这样称呼它们,因为我无法从堆栈跟踪中准确找出真正的问题是什么。
基本上,我点击我页面上的一个链接,就会弹出这个错误:
请求方法:GET
请求网址:/accounts/profile/
Django 版本:1.5.1
异常类型:ValueError
异常值:
*视图 userprofile.views.user_profile 未返回 HttpResponse 对象。*
这让我相信错误出现在我的视图文件中,除了我正在逐行遵循教程,并且我被引导相信错误可能在于使用 forms.py 创建 HttpResponse 对象的方式.
简而言之,代码是,
form = UserProfileForm(request.POST, instance=request.user.profile)
...
args = {}
args.update(csrf(request)) // security token
args['form'] = form
return render_to_response('profile.html', args)
profile.html 也绝对没问题,我对此进行了测试,我基本上是从 login.html 页面调用它,在该页面中显示有效的用户登录信息。
非常感谢您的帮助所以,我通常不问问题,但我已经被这个问题困住了 5-6 个开发小时。尽量不要嘲笑我不理解这个可能简单但隐藏的初学者错误:)
此外,如果您能说明您是如何解决此错误的,尤其是说明我的想法以及根本误解在哪里,我希望您能在回复中说明这一点。
在您的回答中,仅参考文档的特定实例,因为我已经进行了大量搜索,但也许它并没有完全缩小到我的问题所在:D
再次感谢,
詹姆斯
评论一:教程
Here is the tutorial我指的是。在我尝试单击超链接之前,我一直在识别错误,因为我拥有所有代码并且一切正常。我对错误的来源哪里没有经验。
第二条评论:相关代码
userprofile/views.py
def user_profile(request):
if request.method=='POST':
form = UserProfileForm(request.POST, instance=request.user.profile)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/loggedin')
else:
user = request.user
profile = user.profile
form = UserProfileForm(instance=profile)
args = {}
args.update(csrf(request)) // security token
args['form'] = form
return render_to_response('profile.html', args)
myapp urls.py,用户配置文件 urls.py
(r'^accounts/', include ('userprofile.urls')),
...
url(r'^profile/$', 'userprofile.views.user_profile'),
【问题讨论】:
-
您能否发布指向您正在学习的教程的链接?并告诉我们您坚持的哪一部分?
-
嗨詹姆斯。您对 Django 非常熟悉;) 您介意将整个视图的代码与您的 urls.py 一起发布吗?
-
到目前为止我很喜欢它。我刚刚添加了链接,稍后我将添加代码:)
标签: python django django-models django-forms django-views