我的第一个项目是大三的时候。它是旧的(Django 1.8),是正常的Django框架。。。不是休息。你知道吗
它支持网络和移动。你知道吗
我必须为mobile创建端点才能创建用户。你知道吗
我认为这不是一个问题(创建),但我想确保它将被保存。你知道吗
首先,我认为我将创建普通的ModelForm(RegisterAPIForm based-based-model=User with full validation(我的意思是初始化“backend”中的所有字段,对用户不可见|清理|所有字段的数据|特殊覆盖方法save(),另外散列密码并发送电子邮件),在视图中,我将添加如下内容:
class RegistrationAPITestView(View):
def post(self, request):
form = RegistrationAPIForm(
request.POST
)
if form.is_valid():
form.save()
return JsonResponse({})
else:
#check errors and send error code back
或者我应该用另一种方法,通过使用用户对象?你知道吗
class RegistrationAPITestView(View):
def post(self, request):
#check if user does not exist
#password1 and password2 validation
user = User.objects.create()
user.name = request.POST['username']
user.set_password(request.POST['password'])
#init all fields that user can't choose like groups etc
user.save()
你觉得呢?我需要甚至不渲染的模型吗?看起来比较安全,但也许我应该换个方向检查一下?有用户对象吗?你知道吗
顺便说一句,注册表格已经存在的网站,但有很多“网络”的东西,我不需要,我不必检查,有另一种方法保存密码,所以我认为我应该创建一个新的。你知道吗
我的代码将在两周内修订(高级假期),但现在我独自一人,想尽我所能。你知道吗
第二种选择没有错,但这是你作为一个大三学生应该避免的问题。这一行将使服务器返回一个500错误
request.POST['username']
,因为如果用户不提供用户名,python将抛出一个键错误,要解决这个问题,只需更改为request.POST.get('username', 'value if doesn\'t exit')
也要确保在创建用户之前一切都准备就绪,否则数据库中的记录将不会有用。也给validators to the password打电话,试着涵盖所有可能的场景。记住永远不要相信用户相关问题 更多 >
编程相关推荐