[project.no-posts] 잘자요, 아가씨

[project.no-posts] 잘자요, 아가씨

·

2 min read

잘자요, 아가씨 🤦🏻

이틀간의 노동요

게시판 기능 만들기!

  1. 카테고리 나누기

  2. 해당 카테고리를 눌렀을 때 그 글 목록들로 넘어가지게

  3. 글 목록들 노출되게 (제목, 간략한 내용, 작성자명, 날짜)

  4. 글쓰기 버튼을 누르면 글쓰기로 이동


내일이 발표지만 오후 9시인 아직까지 html에서 버튼을 누르면 해당 기능으로 이동하는걸 못했다.

망했따!

정리하기 전의 html

매니저님과 동기분의 도움을 받은 정리된 html


from flask import Flask, request, render_template, redirect
import os
from flask_sqlalchemy import SQLAlchemy

basedir = os.path.abspath(os.path.dirname(__file__))
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] =\
    'sqlite:///' + os.path.join(basedir, 'database.db')

db = SQLAlchemy(app)


# db 정보 

class board(db.Model):   
    id = db.Column(db.Integer, primary_key=True) 
    user = db.Column(db.String, nullable=False)
    title = db.Column(db.String, nullable=False)
    content = db.Column(db.String, nullable=False)
    date = db.Column(db.String, nullable=False)
    category = db.Column(db.String, nullable=False)


with app.app_context():
    db.create_all()


# 보드 메인화면 - 프론트만 연결하기 (메인화면 반환할 때 자유게시판 함께 반환)

@app.route('/', methods=['GET'])
def board_main():
    # 메인 페이지로 접근할때 get 처리 - 자유게시판 카테고리에 속한 게시글을 board.html로 전달
    posts = board.query.filter_by(category='자유게시판').all()
    return render_template('board.html', posts=posts)


# 카테고리별 목록으로 이동 - db 카테고리에 정보, 뉴스, 자유인지 넣어주면 됨 / 프론트 토글로 클릭해서
# 자유게시판
@app.route('/free', methods = ['GET']) 
def free():
    # 자유게시판 카테고리 게시글만 조회 -> board.html으로 전달
    # 자유게시판 카테고리 선택했을 때 해당 카테고리에 속한 게시글만 조회
    # posts -> board.html에서 정보를 가져올때 템플릿 문법으로 가져오면 됨 
    posts = board.query.filter_by(category='자유게시판').all()
    return render_template('board.html', posts=posts, category='자유게시판')

# 정보
@app.route('/info', methods = ['GET'])
def info():
    # 정보 카테고리 게시글만 조회 -> board.html으로 전달
    posts = board.query.filter_by(category='정보').all()
    return render_template('board.html', posts=posts, category='정보')

# 뉴스
@app.route('/news', methods = ['GET'])
def news():
    # 뉴스 카테고리 게시글만 조회 -> board.html으로 전달
    posts = board.query.filter_by(category='뉴스').all()
    return render_template('board.html', posts=posts, category='뉴스')



if __name__ == '__main__':  
    app.run(debug=True)

get - 게시판 전체 목록 읽기

post - 게시글 생성