def signup(): form = UserCreateForm() if request.method == "POST" and form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if not user: user = User(username=form.username.data, password=generate_password_hash(form.password1.data), email=form.email.data) db.session.add(user) db.session.commit() return redirect(url_for('main.index')) else: flash('이미 존재하는 사용자 입니다.') return render_template('auth/signup.html', form=form)
def register():#회원가입 form = UserCreateForm() if request.method == 'POST' and form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if not user: user = User(username=form.username.data, password=generate_password_hash(form.password1.data),#입력받은 비밀번호를 암호화하여 저장 email=form.email.data) db.session.add(user) db.session.commit() return redirect(url_for('auth.index')) else: flash('이미 존재하는 아이디 입니다.') return render_template('register.html', form=form)
def signup(): form = UserCreateForm() if request.method == 'POST' and form.validate_on_submit(): # username으로 데이터 조회해서 이미 등록된 사용자인지 확인 user = User.query.filter_by(username=form.username.data).first() if not user: # 계정 등록할 때 비밀번호는 입력받은 값 그대로 저장하는 것이 아니라 generate_password_hash 함수로 암호화하여 저장 user = User(username=form.username.data, password=generate_password_hash(form.password1.data), email=form.email.data) db.session.add(user) db.session.commit() return redirect(url_for('main.index')) else: # 이미 등록된 사용자일 경우 flash('이미 존재하는 사용자입니다.') # 오류 발생 return render_template('auth/signup.html', form=form)
def signup(): form = UserCreateForm() # 회원가입 if request.method == 'POST' and form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() # username 으로 등록된 사용자인지 판단 if not user: # 입력한 username 과 동일한 username 이 없을 경우 그대로 저장 user = User(username=form.username.data, password=generate_password_hash(form.password1.data), # 비밀번호 암호화 email=form.email.data) db.session.add(user) db.session.commit() return redirect(url_for('main.index')) else: # 입력한 username 과 동일한 username 이 있을 경우 알림 flash('이미 존재하는 사용자입니다.') # 회원가입 화면 표출 return render_template('auth/signup.html', form=form)
def signup(): form = UserCreateForm() if request.method == 'POST' and form.validate_on_submit(): user = User.query.filter_by(user_name=form.user_name.data).first() email = User.query.filter_by(email=form.email.data).first() if not user and not email: user = User(user_name=form.user_name.data, password=generate_password_hash(form.password.data), email=form.email.data) db.session.add(user) db.session.commit() return redirect(url_for('main.index')) else: if user: flash("이미 존재하는 사람입니다.") if email: flash("이미 존재하는 이메일입니다.") return render_template('auth/signup.html', form=form)
def signup(): form = UserCreateForm() if request.method == 'POST' and form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if not user: user = User(username=form.username.data, password=generate_password_hash(form.password1.data), email=form.email.data) try: db.session.add(user) db.session.commit() return redirect(url_for('main.registerclear')) except: db.session.rollback() flash('가입 실패- 이메일을 확인해주세요') return redirect(url_for('main.registerclear')) else: flash('이미 존재하는 사용자입니다.') return render_template('auth/signup.html', form=form)
def signup(): form = UserCreateForm() if request.method == 'POST' and form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if not user: user = User( username=form.username.data, password=generate_password_hash( form.password1.data ), #generate_password_hash : 복호화 불가, 비교 시 암호화 후 처리. email=form.email.data, create_date=datetime.now()) db.session.add(user) db.session.commit() return redirect(url_for( 'main.index')) #url_for : 라우트가 설정된 함수명으로 URL을 역으로 찾아준다. else: flash('이미 존재하는 상용자입니다.') #flash : 논리오류를 발생시킨다. return render_template('auth/signup.html', form=form) #render_template : 템플릿 화면을 그려준다.
def signup(): form = UserCreateForm() if request.method == 'POST' and form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if not user: user = User(username=form.username.data, password=generate_password_hash(form.password1.data), email=form.email.data) db.session.add(user) try: db.session.commit() except IntegrityError: # error, there already is a user using this bank address or other constraint failed db.session.rollback() flash('이미 등록된 이메일 주소입니다.') return render_template('auth/signup.html', form=form) return redirect(url_for('main.index')) else: flash('이미 등록된 사용자입니다.') return render_template('auth/signup.html', form=form)
def hello_pybo(): ####쿼리문 확인하기 ###### # result=Question.query.all() # print(result) # for temp in result: # print(temp.id) # print(temp.subject) # print(temp.content) #######특정 조건 만족하는 쿼리문 불러오기 ########3 # result1 = Question.query.all() # title=[] # for temp in result1: # if temp.id<= 5: # title.append(temp.subject) # # print('subject 리스트 입니다.: ', title) ######### 위의 for 문 한줄로 써보기 (filter 이용)##########3 #result=Question.query.filter(Question.id<6).all() #print(result) ########1개만 가져올때는 get 쓰기######## #result=Question.query.get(1);print(result) #id(primary_key)=1인 것 가져옴 ###########검색 기능########## #result=Question.query.filter(Question.subject.like('%무엇%')).all() #print('무엇 검색시 나오는 것들: ', result) #############아이디 가져와서 내용 바꾸기######### result = Question.query.get(1) result.subject = '파이보 정말 쉽지 않네' db.session.commit() #print(result) # q = Question(subject='pybo가 무엇인가요?', content='pybo에 대해서 알고 싶습니다. ', create_date=datetime.now()) # a = Question(subject='python 재밌나요?', content='python에 대해서 알고 싶습니다. ', create_date=datetime.now()) # b = Question(subject='java가 무엇인가요?', content='java에 대해서 알고 싶습니다. ', create_date=datetime.now()) # c = Question(subject='spring가 무엇인가요?', content='spring에 대해서 알고 싶습니다. ', create_date=datetime.now()) # d = Question(subject='R이 무엇인가요?', content='R에 대해서 알고 싶습니다. ', create_date=datetime.now()) # e = Question(subject='송중기 38살 실화?', content='송중기에 대해서 알고 싶습니다. ', create_date=datetime.now()) # f = Question(subject='빈센조 시즌 2나오나요?', content='빈센조 못잃어... ', create_date=datetime.now()) # g = Question(subject='오늘 날씨 어떤가요?', content='날씨에 대해서 알고 싶습니다. ', create_date=datetime.now()) # h = Question(subject='방금 나온 노래가 무엇인가요?', content='그 음악에 대해서 알고 싶습니다. ', create_date=datetime.now()) # i = Question(subject='플라스크가 무엇인가요?', content='플라스크에 대해서 알고 싶습니다. ', create_date=datetime.now()) # db.session.add(q);db.session.add(a);db.session.add(b);db.session.add(c);db.session.add(d) # db.session.add(e);db.session.add(f);db.session.add(g);db.session.add(h);db.session.add(i) # db.session.commit() ###########쿼리문의 삭제######## #result=Question.query.get(2) #id=2인 것 삭제 #db.session.delete(result) #db.session.commit() #########쿼리문 답변달기 ########33 # q = Question.query.get(4) # a = Answer(question=q, content='아직 당신에겐 이릅니다.', create_date=datetime.now()) # db.session.add(a) # 더하고 # db.session.commit() # 커밋 ##1번 질문에 대한 답변 데이터 가져오기. #방법1) # answer=Answer.query.get(1) #print('1번 질문 답입니다: ' , answer) #방법2) #q = Question.query.get(1) #result = Answer.query.filter(Answer.question_id == 1).all() #print('1번 답:', result) #방법3(question이 지워지면 같이 자동으로 지워지는 답변들임) # q=Question.query.get(1) # result=q.answer_set # print(result) ##미션1)5번 질문에 대한 답 3개 만들기 # q = Question.query.get(5) # a = Answer(question=q, content='시각화, 통계하기 좋은 거', create_date=datetime.now()) # b = Answer(question=q, content='부성순 강사님과 배움', create_date=datetime.now()) # c = Answer(question=q, content='알이 알이지', create_date=datetime.now()) #db.session.add(a); db.session.add(b); db.session.add(c) #db.session.commit() ##미션2)5번 질문을 역참조하는 답변 출력 #q = Question.query.get(5) #result = q.answer_set #print('5번질문 역참조 답변들: ', result) ##미션3)5번 질문을 삭제하고 5번 질문을 역참조하는 답변 확인 #db.session.delete(q) #db.session.commit() #id에 null로 뜸 ###class user ######## a1 = User(pw='apple', name='송중기', age='37', address='이탈리아', birth='1985-9-19', gender='남자', create_date=datetime.now()) a2 = User(pw='banana', name='이곰돌', age='12', address='서울', birth='2010-1-3', gender='남자', create_date=datetime.now()) a3 = User(pw='cheese', name='김제리', age='27', address='부산', birth='1995-9-19', gender='남자', create_date=datetime.now()) a4 = User(pw='dizzy', name='박도라에몽', age='15', address='일산', birth='2007-3-12', gender='남자', create_date=datetime.now()) a5 = User(pw='fool', name='박민수', age='22', address='대구', birth='2000-7-19', gender='남자', create_date=datetime.now()) a6 = User(pw='gogo', name='최고심', age='25', address='제주', birth='1997-12-1', gender='여자', create_date=datetime.now()) a7 = User(pw='hello', name='하나리', age='18', address='울산', birth='2004-10-20', gender='여자', create_date=datetime.now()) a8 = User(pw='icecream', name='최명희', age='40', address='포항', birth='1982-11-8', gender='여자', create_date=datetime.now()) a9 = User(pw='jelly', name='나미리', age='28', address='인천', birth='1994-4-10', gender='여자', create_date=datetime.now()) a10 = User(pw='king', name='신짱아', age='17', address='영천', birth='2005-9-13', gender='여자', create_date=datetime.now()) # db.session.add(a1);db.session.add(a2);db.session.add(a3);db.session.add(a4);db.session.add(a5) # db.session.add(a6);db.session.add(a7);db.session.add(a8);db.session.add(a9);db.session.add(a10) # db.session.commit() result = User.query.filter(User.age >= 19).all() print('성인 유저들: ', result) result1 = User.query.filter(User.age < 20).all() print('미성년 유저들: ', result1) return 'Hello안녕, pybo!'