Example #1
0
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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
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)
Example #6
0
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)
Example #7
0
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 : 템플릿 화면을 그려준다.
Example #8
0
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)
Example #9
0
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!'