def login(request): if request.method == 'POST': result = {} code = request.POST.get('code') name = request.POST.get('name') # body = json.loads(request.body.decode()) # code = body['code'] # name = body['name'] res = requests.get( "https://api.weixin.qq.com/sns/jscode2session?appid=wx7f8e3abb8c49174e&secret=db01f42467b56c7eec14faa1b1513ba7&js_code={}&grant_type=authorization_code" .format(code)) res_dic = res.json() errcode = res_dic['errcode'] errmsg = res_dic['errmsg'] if errcode == 0: openid = res_dic['res_dic'] session_key = res_dic['session_key'] token = api.get_random_token() obj = models.User(name=name, openid=openid, session_key=session_key, token=token) obj.save() id = obj.id result['status'] = 0 result['id'] = id result['token'] = token else: result['status'] = -1 result['errmsg'] = errmsg return HttpResponse(json.dumps(result)) return HttpResponse('404')
def create(self, validated_data): user = models.User(username=validated_data['username'], email=validated_data['email'], name=validated_data['name']) user.set_password(validated_data['password']) user.save() return user
def create_user(request): if request.method != 'POST': return res_err(assemble_err_msg(-1, "WRONG_REQUEST_METHOD", "POST")) new_user = models.User( username = request.POST.get('username'), first_name = request.POST.get('first_name'), last_name = request.POST.get('last_name'), email_address = request.POST.get('email_address'), age = request.POST.get('age'), gender = request.POST.get('gender'), date_joined = datetime.now(), zipcode = request.POST.get('zipcode'), password = make_password(request.POST.get("password")) ) try: new_user.save() except (db.Error, IntegrityError) as e: return res_err("Create user transaction failed with error " + str(e.args)) return res_success("New user with user_id " + str(new_user.pk) + " is successfully created!")
def create_user(request): if request.method != 'POST': return _error_response(request, "must make POST request") if 'first_name' not in request.POST or \ 'last_name' not in request.POST or \ 'password' not in request.POST or \ 'username' not in request.POST: return _error_response(request, "missing required fields") u = models.User(username=request.POST['username'], \ first_name=request.POST['first_name'], \ last_name=request.POST['last_name'], \ password=hashers.make_password(request.POST['password']), \ date_joined=datetime.datetime.now() \ ) try: u.save() except db.Error: return _error_response(request, "db error") return _success_response(request, {'user_id': u.pk})
def register(): """ 注册 """ if request.method == 'GET': return render_template('register.html') elif request.method == 'POST': form = forms.RegisterForm(formdata=request.form) if form.validate(): count = db.session.query(models.User).filter(db.or_(models.User.username == form.data['username'])).count() if count: flash('用户名已存在。') return redirect(url_for('auth.register')) else: password_hash = hashlib.md5(form.data['password'].encode('utf-8')).hexdigest() db.session.add(models.User(username=form.data['username'], password_hash=password_hash)) db.session.commit() db.session.close() flash('注册成功!') return redirect(url_for('auth.login')) else: for error in form.errors: flash(form.errors[error][0]) return redirect(url_for('auth.register'))
def populate_db(self): # admin city_names = [] with open('main/management/commands/cities.txt', 'r', encoding='utf8') as file: city_names = file.readlines() for city_name in city_names: city = models.City(name=city_name.strip()) city.save() # для парсинга хобби with open('main/management/commands/interests.txt', 'r', encoding='utf8') as file: interests = file.readline().split(';') print(random.choice(interests)) # для парсинга координат городов coordinates = {} with open('main/management/commands/coordinates.txt', 'r', encoding='utf8') as file: for line in file.readlines(): cityID = line.split(':')[0] cityCoordinate = line.split(':')[1] coordinates[int(cityID)] = cityCoordinate admin = models.User(aituUserId='*****@*****.**', first_name="Админ", last_name="Админович", is_staff=True, is_superuser=True) admin.set_password("admin") admin.save() df_names = pd.read_csv('main/management/commands/data.csv') BASE_DIR = Path(__file__).resolve().parent name_surname = [] for i in range(0, 100): first_name = df_names['name'][i] external_id = df_names['name'][i] + str( df_names['count'][i]) + str(df_names['rowid'][i]) # image = "static/" + random.choice(os.listdir(str(BASE_DIR) + "/images")) i += 1 last_name = df_names['name'][i] name_surname.append(first_name + "//" + last_name) user = models.User( first_name=first_name, last_name=last_name, aituUserId=str(external_id), ) user.set_password("admin12345") user.save() city_id = random.randint(1, 10) user_profile = models.UserProfile( user_id=user.pk, gender="f", city=models.City.objects.filter(id=city_id).first(), latitude=coordinates.get(city_id).split(',')[0], longitude=coordinates.get(city_id).split(',')[1], breefly=random.choice(interests), birth_date=self.get_random_birthday()) print(i) user_profile.save()