views.py 文件源码

python
阅读 38 收藏 0 点赞 0 评论 0

项目:daas 作者: havron 项目源码 文件源码
def register(request): # /register
  if request.method != 'POST':  
    return _error_response(request, err_exp.E_BAD_REQUEST, "must make POST request")

  form = RegisterForm(request.POST)
  if not form.is_valid():
    return _error_response(request, err_exp.E_FORM_INVALID, "user registration form not correctly filled out")

  post_data = form.cleaned_data
  post_data['password'] = hashers.make_password(post_data['password1']) # get first validated password and hash it
  post_data['date_joined'] = datetime.datetime.now()
  post_data['is_active'] = True
  post_data['email_address'] = post_data['email1'] 

  post_encoded = urllib.parse.urlencode(post_data).encode('utf-8')
  req = urllib.request.Request('http://models-api:8000/api/v1/user/create/', data=post_encoded, method='POST')
  resp_json = urllib.request.urlopen(req).read().decode('utf-8')
  resp = json.loads(resp_json)

  if not resp:
    return _error_response(request, err_exp.E_REGISTER_FAILED, "no response from models API")
  if resp['ok'] == False: # could be much more nuanced. makes web view handle errors
    return _error_response(request, err_exp.E_REGISTER_FAILED, resp)

  return _success_response(request, resp['resp'])


# fields = ['username', 'password', 'email_address','date_joined','is_active','f_name','l_name', 'bio']
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号