Merge remote-tracking branch 'origin/main'
This commit is contained in:
31
app.py
31
app.py
@@ -6,6 +6,7 @@ from bs4 import BeautifulSoup
|
|||||||
from werkzeug.utils import secure_filename
|
from werkzeug.utils import secure_filename
|
||||||
import os
|
import os
|
||||||
import uuid
|
import uuid
|
||||||
|
import re
|
||||||
from markupsafe import Markup
|
from markupsafe import Markup
|
||||||
from jinja2 import filters
|
from jinja2 import filters
|
||||||
|
|
||||||
@@ -17,6 +18,11 @@ app.secret_key = 'your secret key'
|
|||||||
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
|
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
|
||||||
|
|
||||||
|
|
||||||
|
def remove_html_tags(text):
|
||||||
|
clean = re.compile('<.*?>')
|
||||||
|
return re.sub(clean, '', text)
|
||||||
|
|
||||||
|
|
||||||
@app.before_request
|
@app.before_request
|
||||||
def load_user():
|
def load_user():
|
||||||
if 'user_info' in session:
|
if 'user_info' in session:
|
||||||
@@ -94,20 +100,23 @@ def sql_execute(q, d, is_data=False, is_last_id=False):
|
|||||||
|
|
||||||
@app.route('/')
|
@app.route('/')
|
||||||
def index():
|
def index():
|
||||||
if 'user_info' in session: # 로그인된 사용자가 있을 경우
|
if 'user_info' in session: # 로그인된 사용자
|
||||||
# 외부 공개 안된 글도 포함하여 모든 블로그 포스트를 가져옵니다.
|
query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' ORDER BY `add_date` DESC limit 6;"
|
||||||
query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' ORDER BY `add_date` DESC limit 7;"
|
r_query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' ORDER BY RAND() DESC limit 1;"
|
||||||
random_query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' ORDER BY rand();"
|
else:
|
||||||
else: # 로그인된 사용자가 없을 경우
|
query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' and `public_yn` = 'Y' ORDER BY `add_date` DESC limit 6;"
|
||||||
# 외부 공개된 블로그 포스트만 가져옵니다.
|
r_query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' and `public_yn` = 'Y' ORDER BY RAND() DESC limit 1;"
|
||||||
query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' and `public_yn` = 'Y' ORDER BY `add_date` DESC limit 7;"
|
|
||||||
random_query = "SELECT `id`, `title`, `category`, `thumbnail_img`, `contents`, `add_date` FROM `blog` WHERE `use_yn` = 'Y' and `public_yn` = 'Y' ORDER BY rand();"
|
|
||||||
|
|
||||||
r, posts = sql_execute(query, (), is_data=True)
|
r, posts = sql_execute(query, (), is_data=True)
|
||||||
r, random_posts = sql_execute(random_query, (), is_data=True)
|
r, random_post = sql_execute(r_query, (), is_data=True)
|
||||||
# `index.html` 템플릿으로 데이터를 전달합니다.
|
|
||||||
return render_template('index.html',posts=posts, random_posts=random_posts)
|
|
||||||
|
|
||||||
|
posts.append(random_post[0])
|
||||||
|
|
||||||
|
# 태그 제거 후 150자로 제한
|
||||||
|
for post in posts:
|
||||||
|
post['contents'] = remove_html_tags(post['contents'])[:150]
|
||||||
|
|
||||||
|
return render_template('index.html', posts=posts)
|
||||||
|
|
||||||
@app.route('/login', methods=['GET', 'POST'])
|
@app.route('/login', methods=['GET', 'POST'])
|
||||||
def login():
|
def login():
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="fake__lists">
|
<ul class="fake__lists">
|
||||||
{% for r_post in random_posts %}
|
{% for r_post in posts %}
|
||||||
<li>
|
<li>
|
||||||
<a href="{{ url_for('post', post_id=r_post.id) }}">
|
<a href="{{ url_for('post', post_id=r_post.id) }}">
|
||||||
<div class="lists__img">
|
<div class="lists__img">
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
<p class="lists__category">{{ r_post.category }}</p>
|
<p class="lists__category">{{ r_post.category }}</p>
|
||||||
<h3 class="lists__title">{{ r_post.title }}</h3>
|
<h3 class="lists__title">{{ r_post.title }}</h3>
|
||||||
<p class="lists__content">
|
<p class="lists__content">
|
||||||
컨텐츠 내용 내용 내용 내용 내용 집어넣을곳 testtest 블라블라블라 ~~~ 어쩌고 저쩌고 컨텐츠 내용 내용 내용 내용 내용 집어넣을곳 testtest 블라블라블라 ~~~ 어쩌고 저쩌고 컨텐츠 내용 내용 내용 내용 내용 집어넣을곳 testtest 블라블라블라 ~~~ 어쩌고 저쩌고
|
{{ r_post.contents | safe }}
|
||||||
</p>
|
</p>
|
||||||
{# <p class="lists__content">{{ r_post.contents | safe }}</p> #}
|
{# <p class="lists__content">{{ r_post.contents | safe }}</p> #}
|
||||||
<p class="lists__date">
|
<p class="lists__date">
|
||||||
|
|||||||
Reference in New Issue
Block a user