Python에서 Flask는 웹을 만들수 있는 프레임워크의 하나입니다.
Flask를 학습하면서 만든 소스코드를 올려 학습한 내용을 잊지않고 필요시 찾아 볼수있도록 해보겠습니다.
학습은 gseek의 flask강좌의 내용을 학습하며 만든 소스 코드입니다.
app.py실행==>temp2.html==>layout.html실행
=================================================================
mysite/app.py
=================================================================
from flask import Flask, render_template
app=Flask(__name__)
@app.route("/")
def temp_test():
return render_template("temp2.html",my_string="템플릿 테스트",my_list=[11,22,33,44,55,66,77])
if __name__=="__main__":
app.run()
================================================================
mysite/templates/temp2.html
=================================================================
{% extends "layout.html"%}
{% block content %}
<h4>자식 템플릿의 시작</h4>
<br/>
<p>My String : {{my_string}}</p>
<p>리스트 값:{{my_list[2]}}</p>
<p>전체 리스트</p>
<ul>
{% for i in my_list%}
<li>{{i}}</li>
{% endfor%}
</ul>
<h4>자식 템플릿의 끝</h4>
{% endblock%}
=================================================================
mysite/templates/layout.html
=================================================================
<!DOCTYPE html>
<head>
<title>Flask Template Example</title>
<meta name="veiwport" content = "width=device-width, initial-scal=1.0">
</head>
<style type="text/css">
h3 {color:blue}
h4 {color:red}
</style>
<body>
<nav class="navbar navbar-inverse" role="navigation">
<div class="container-fluid">
<div class = "navbar-header">
<a clas="navbar-brand" href="/">Logo!</a>
</div>
</div>
<div class = "collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">메뉴1</a></li>
<li><a href="#">메뉴2</a></li>
<li><a href="#">메뉴3</a></li>
<li><a href="#">메뉴4</a></li>
</ul>
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="검색하기">
</div>
<button type="submit" class = "btn btn-default">확인</button>
</form>
<ul class = "nav navbar-nav navbar-right">
<li><a href="#">회원가입</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">사용자<b class"caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">나의 프로필</a></li>
<li><a href="#">주문내역</a></li>
<li class="divider"></li>
<li><a href="#">로그인</a></li>
</ul>
</li>
</ul>
</div>
</nav>
<div class ='wrap'>
<h3>기본 템플릿</h3>
<br/>
{% block content %}{% endblock %}
<br/>
<h3> 기본 템플릿</h3>
</div>
</body>
</html>
===============================================
pythonanywhere에서는 학습당시에 에러가 발생해 애를 먹게 했었는데 메일을 보내고 응답이 구체적인 에러 내용을 알려 달라해서 다시 해보니 에러가 없어 결과를 올립니다.
pythonanywhere에서는 cdn은 동작하지않네요..
그래도 나머지는 잘 동작해서 행복했습니다.