2

こんにちは、django を使用してプロジェクト管理 Web サイトを開発してThe view equipo.frontends.views.hoddashboard didn't return an HttpResponse objectいます。ダッシュボードへのユーザー ログインを認証すると、このエラーが発生します。

私のviews.pyは次のとおりです:

 from django.http import HttpResponse
    from django.template import RequestContext
    from django.shortcuts import render_to_response
    from django.views.generic.simple import direct_to_template
    from django.template.loader import get_template
    from django.template import Context
    from django.forms import *
    from django.contrib.auth import authenticate
    from django.contrib import auth 
    from django.http import HttpResponseRedirect

    def hoddashboard(request):
         if request.method=='POST':
             username=request.POST.get('Username')
             password=request.POST.get('Password')
             user=authenticate(username=username,password=password)
             if user is not None:
                 auth.login(request, user)
                 team="team.png"
                 t={'team1':team}
                 return HttpResponseRedirect('/home/aditya/Desktop/equipo/equipo/frontend      /templates/hodnewdash.html')

私のhtmlページは次のとおりです。

    <html>
        <head>
            <title>hod-login</title>
            <style type="text/css">.hod2{position:absolute;left:160;top:150;}
                .hod1{position:absolute;left:870;top:180;}
                .hod2{position:absolute;left:160;top:150;}
            </style>
        </head>
        <body>
             <div style='position:absolute;z-index:0;left:0;top:0;width:100%;height:100%'>
      <img src='{{MEDIA_URL}}hod.png' style='width:100%;height:100%' alt='[]' />
    </div>
            <img height="300" width="450" class="hod2" src="{{MEDIA_URL}}hod1.jpeg" />
             {%block content %}
            <form action="hodnewdash.html" class="hod1" method="POST" name="hodlogin">{% csrf_token %}
                <label>Username:</label><input type="text" name="uname" size="20"> </input><br />
                <br />



                <label>Password:</label><input type="password" name="pwd" value="" size="20" />
                <br /><br />
                <input  type="submit" value="submit" name="submit" />
            <input type="hidden" name="next" value="hodnewdash.html" />
            </form>
        {% endblock %}
        </body>
    </html>
4

2 に答える 2

0

URL が (を使用して) 直接要求された場合、何も返されず、GETその他の未処理の条件がいくつかあります。

 def hoddashboard(request):
         if request.method=='POST':
            # do stuff
            if user is not None:
               # do stuff
               return redirect('/some/url')
            else:
               return redirect('/some/url2/')
         else:
            return redirect('/somewhere/else/')
于 2013-03-10T05:01:26.077 に答える
0

Burhan からの応答を確認する必要があります。メソッド hodashboard のスケルトンの方が優れています。

いずれにせよ、HttpResponseRedirect を正しい方法で使用していない場合は、ユーザーにリダイレクトする URL をパラメーターとして渡す必要があります。たとえば、ユーザーをhttp://yoursite.com/dashboard/に移動させたい場合は、次を使用する必要があります。

return HttpResponseRedirect('/dashboard/')

その応答は、コードでダッシュボード メソッドを実行し、その応答を返します。

ここでドキュメントを赤くすることができます: https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpResponseRedirect

于 2013-03-10T17:32:26.617 に答える