본문 바로가기

분류 전체보기

(14)
[Flask] Log in 기능 만들기 로그인은 이메일주소와 비빌번호를 이용하기에 username, confirm password를 제거하여 register.html을 복사하여 붙여넣기 한다 remember me 폼도 추가 {{ form.remember(class="form-check-input")}} {{ form.remember.label(class="form-check-label")}} 계정이 없으면 새로 만들수 있게 리디렉션을 register.html로 변경해준다 Need An Account? Sign Up Now login.html {% extends "layout.html" %} {% block content %} {{ form.hidden_tag() }} Log In {{ form.email.label(class="form-con..
[Flask] sign up할 때 flash message 보이기 register 성공한후 home.html 화면으로 redirection 하기 flaskblog.py에 추가 import flash, redirect @app.route("/register", methods= ['GET', 'POST']) def register(): form = RegistrationForm() if form.validate_on_submit(): flash(f'Account created for {form.username.data}!', 'success') return redirect(url_for('home')) return render_template('register.html', title = 'Register', form = form) home.html에 flash messag..
[Flask] POST 연결 허용하기 register 페이지에서 sign up 버튼을 누르면 post 연결을 허용 안해서 에러발생함 post 연결 허용하기위해서 flaskblog.py의 @app.route("/register") 를 아래와 같이 수정한다 @app.route("/register", methods= ['GET', 'POST'])
[Flask] 앱파일에 form 라우트하기 registration과 log in 클래스의 form.py는 아래와 같다 from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField, BooleanField, EmailField, validators class RegistrationForm(FlaskForm): username = StringField("Username", [validators.DataRequired(), validators.Length(min=2, max=20)]) email = EmailField("Email", [validators.DataRequired(), validators.Email()]) password = Passw..
[Flask] FlaskForm 이용하여 login form 만들기 레지스트레이션 정보의 이메일과 패스워드를 이용하여 로그인한다 로그인 정보의 쿠키를 이용하기 위해서 BooleanField import import BooleanField 로그인 클래스 class LoginForm(FlaskForm): email = StringField('Email', validators=[DataRequired(), Email()]) password = PasswordField('Password', validators=[DataRequired()]) remember = BooleanField('Remember Me') submit = SubmitField('Login')
[Flask] FlaskForm 이용하여 registration form 만들기 pip install flask-wtf forms.py 파일 만들기 FlaskForm import 하기 from flask_wtf import FlaskForm 클래스 만들기 class RegistrationForm(FlaskForm): 유저 네임을 받을 문자열 필드를 생성을 위해 StringField import from wtforms import StringField 유저 네임은 최소 2자에서 최대 20자로 유효성 검사를 할수 있는 validators 이용 from wtforms.validators import DataRequired, Length username = StringField('Username', validators=[DataRequired(), Length(min=2, max=20)])..
[Flask] Bootstrap 사용하기 Bootstrap link https://getbootstrap.com/docs/5.3/getting-started/introduction/ 태그 사이에 meta tag와 bootstrap css link 태그 추가 태그 전에 bootstrap 자바스크립트 script 태그 추가 태그 안의 {% block content %}{% endblock content %} 구문을 태그로 감싼다 layout.html DOCTYPE html> {% if title %} Flask Blog - {{ title }} {% else %} Flask Blog {% endif %} {% block content %}{% endblock content %} home과 about의 웹페이지가 css에 따라 폰트와 마진이 달라지고..
[Flask] 템플릿 상속 templates 폴더에 layout.html 만들기 home.html 과 about.html 문서는 layout.html의 형식을 상속받고 ... 의 내용을 표시한다 *** {% extends "layout.html" %} *** layout.html DOCTYPE html> {% if title %} Flask Blog - {{ title }} {% else %} Flask Blog {% endif %} {% block content %}{% endblock content %} home.html {% extends "layout.html" %} {% block content %} {% for post in posts %} {{ post.title }} By {{ post.author}} on {{ p..