首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >django TemplateDoesNotExist at /login/

django TemplateDoesNotExist at /login/
EN

Stack Overflow用户
提问于 2015-07-23 02:16:29
回答 2查看 2K关注 0票数 1

我试着在这里用表格登录-

http://stackoverflow.com/questions/31576801/django-login-exception-value-unicode-object-is-not-callable#31576801

当我点击登录时,我得到了以下回溯-

代码语言:javascript
复制
Traceback:
File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/opt/datapi/core/views.py" in LoginRequest
  47.     return render_to_response('/',ctx,context_instance=RequestContext(request))
File "/usr/local/lib/python2.7/dist-packages/django/shortcuts.py" in render_to_response
  23.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in render_to_string
  170.         t = get_template(template_name, dirs)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in get_template
  144.     template, origin = find_template(template_name, dirs)
File "/usr/local/lib/python2.7/dist-packages/django/template/loader.py" in find_template
  136.     raise TemplateDoesNotExist(name)

Exception Type: TemplateDoesNotExist at /login/
Exception Value: /

这是我的观点-

代码语言:javascript
复制
def LoginRequest(request):
    if request.user.is_authenticated():
        return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            email = form.cleaned_data['email']
            password = form.cleaned_data['password']
            user = authenticate(email=email, password=password)
            if user is not None:
                login(request, user)
                return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
            else:
                return render_to_response('/', {'form': form}, context_instance=RequestContext(request))
        else:
            return render_to_response('/', {'form': form}, context_instance=RequestContext(request))
    else:
        form = LoginForm()
        return render_to_response('/', {'form': form}, context_instance=RequestContext(request))

我只能想象模板不存在,因为它不是模板。我想要做的是让我的视图登录,然后返回到根url。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-23 02:40:04

您需要在template_name render_to_response**.中传递您不是这样做的,而是传递一个** url**.**

render_to_response的基本签名

代码语言:javascript
复制
render_to_response(template_name[, context][, context_instance][, content_type][, status][, dirs][, using])

这将使用给定的template字典呈现给定的context,并返回带有该已呈现文本的HttpResponse对象。

因此,以下声明不应是:

代码语言:javascript
复制
return render_to_response('/', {'form': form}, context_instance=RequestContext(request))

相反,应该是这样的:

代码语言:javascript
复制
return render_to_response('template_name_of_index_page', {'form': form}, context_instance=RequestContext(request))
票数 1
EN

Stack Overflow用户

发布于 2015-07-23 02:34:42

我不得不回到下面的观点-

代码语言:javascript
复制
def LoginRequest(request):
    active = "index"
    message = ""
    if request.user.is_authenticated():
        return HttpResponseRedirect(request.META.get('HTTP_REFERER', '/'))
    else:
        if request.method == "POST":
            form = LoginForm(request.POST)
            if form.is_valid():
                username = form.cleaned_data['email']
                password = form.cleaned_data['password']
                user = authenticate(username=username,password=password)
                if user is not None and user.is_active:
                    login(request,user)
                    return HttpResponseRedirect('/dashboard')
                else:
                    message = "user and/or password incorrect"


    ctx = {'active':active, 'form': form}
    return render_to_response('index.html',ctx,context_instance=RequestContext(request))

现在没问题了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31577093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档