빅데이터 김교수의 "AI노마드연구소" AI로 열어가는 노마드 세상!

빅데이터 김교수의 "AI노마드연구소" AI로 열어가는 노마드 세상입니다. AI 코딩작성, SNS 분석, AI업무자동화 컨설팅 0507-1419-0222

자세히보기

교육/파이썬빅데이터분석교육

파이썬 flask 서버 구축 소스, 이미지 처리(Html)

빅데이터 김교수 2023. 5. 24. 14:54

1. application.py

 

from flask import Flask, render_template
import sys
application = Flask(__name__)


@application.route("/")
def root():
    return render_template("index.html")


@application.route("/sub/<part>")
def sub1(part):
    if(part == '단행본'):
        return render_template("sub1.html")
    elif(part == '간행물'):
        return render_template("sub2.html")
    elif(part == '보고서'):
        return render_template("sub3.html")
    elif(part == '기타'):
        return render_template("sub4.html")


if __name__ == "__main__":
    application.run(host='0.0.0.0', port=int(sys.argv[1]))

2. index.html 

<html>
<head>
    <title> HTML5 문서에 CSS 적용하기 </title> 
    <style>
        header {background-color: #82828248; margin: 1px; text-align: center;}
        nav{border: 4px solid gray; width: 12%; float: left; margin-left: 10px; padding: 0px 10px;} 
        nav a{display: block; margin-left: 5px; margin-bottom: 5px; padding: 1px; 
                text-decoration: none; font-weight: bold;} 
        article{border: 4px solid gray; width: 65%; margin: 3px; margin-left: 17%; padding: 10px;} 
        section{background-color: #d2d2d2; margin: 3px; margin-bottom: 10px; padding: 10px; 
                 height: 20vh; text-align: center;} 
        section ul{display: table; margin: 0 auto;}  /* ul 가운데 정렬 */ 
        aside{position: absolute; border: 4px solid gray; width: 10%; top: 17vh; right: 20px; 
                padding: 5px; text-align: center; min-width: 120px;}
        aside p{display: inline-block; border: 3px solid gray; background-color: #d2d2d280; 
                  width: 50%; padding: 30px 20px 30px 20px; font-weight: bold; min-width: 75px;} 
        footer{border-top: 4px solid gray; margin-top: 30px; padding: 10px; text-align: center;}
 
    </style>
</head> 
<body>
    
</body>
<header>[header] 메인</header>
<nav>[nav] 메뉴
       <a href="/">홈</a> 
    <a href="/sub/단행본">단행본</a> 
    <a href="/sub/간행물">간행물</a>
    <a href="/sub/보고서">보고서</a> 
    <a href="/sub/기타">기 타</a> 
</nav> 
 
<article>[article] 도서 안내
    <section>- [section] 베스트셀러
        <ul><li><a href="{{url_for('index01.html')}}"><img src="{{ url_for('static', filename='images/image.jpg') }}" alt="Image"></a></li>
 </li>
        <!-- <a id="CC" href="{{url_for('menu01')}}"><img src="{{ url_for('static', filename='/img/logo_header.png')}}"  -->        
            
            <li>임순범, 박희민, HTML5 웹프로그래밍 입문</li></ul></section>
    <section>- [section] 추천도서
       <ul><li>D. Morley, C. Parker, Understanding Computers 15th Ed.</li>  
             <li>최윤철, 임순범, 소셜미디어 시대의 인터넷 이해</li>
       </ul> </section>
</article>
<aside>[aside]이벤트<p>📕주목도서/p><p>🖐작가와의 만남/p></aside>
<footer>[footer] 작성자: 홍길동 </footer>
</body>
</html>

3. 이미지 처리 코드

 

폴더 구성

 

<img src="{{ url_for('static', filename='images/myimage.jpg') }}" alt="My Image">

<html>
<body>
  <img src="{{ url_for('static', filename='images/image.jpg') }}" alt="Image">
</body>
</html>
from flask import Flask, url_for

app = Flask(__name__)

@app.route('/')
def home():
    image_url = url_for('static', filename='images/myimage.jpg')
    return f'<img src="{image_url}" alt="My Image">'