私はTastypieログインシステムを動作させようとしていますが、ユーザーデータを使ってjsonリクエストを送信すると、サーバーはHttp 500で応答します。問題をデバッグするには何もしないでください。TastypieログインでHttpResonseが返される500
私は周りを見回して私を助けるものを見つけることができません。
この問題を修正する方法や、何かがある場合は私がそうでないと誰も知りません。
ありがとうございました。
api.py
class UserResource(ModelResource):
raw_password = fields.CharField(attribute=None, readonly=True, null=True, blank=True)
class Meta:
queryset = User.objects.all()
fields = ['first_name', 'last_name', 'email']
allowed_methods = ['get', 'post' ]
resource_name = 'user'
def prepend_urls(self):
return [
url(r"^(?P<resource_name>%s)/login%s$" %
(self._meta.resource_name, trailing_slash()),
self.wrap_view("login"), name="api_login"),
url(r'^(?P<resource_name>%s)/logout%s$' %
(self._meta.resource_name, trailing_slash()),
self.wrap_view("logout"), name="api_logout"),
]
def login(self, request, **kwargs):
self.method_check(request, allowed=['post'])
data = self.deserialize(request, request.raw_post_data, format=request.META.get('CONTENT_TYPE', 'application/json'))
username = data.get('username', '')
password = data.get('password', '')
user = authenticate(username=username, password=password)
if user:
if user.is_active:
login(request, user)
return self.create_response(request, {
'success': True
})
else:
return self.create_response(request, {
'success': False,
'reason': 'disabled',
}, HttpUnauthorized)
else:
return self.create_response(request, {
'success': False,
'reason': 'incorrect',
}, HttpUnauthorized)
def logout(self, request, **kwargs):
self.method_check(request, allowed=['get'])
if request.user and request.user.authenticated():
logout(request)
return self.request.create_response(request, {'success': True})
else:
return self.request.create_response(request, {'success': False}, HttpUnauthorized)
request.py
import json
import requests
data = {"username" : "test", "password" : "password"}
headers = {"content-type": "application/json"}
url = "http://localhost:8000/api/v1/user/login/"
response = requests.post(url, data=json.dumps(data), headers=headers)
print response
あなた自身の答えを受け入れるならば、それは良いだろう –
私はそれは2日間私をさせません。私ができるようになると、私はします。 – geolaw