flask werkzeug.routing.BuildError 질문드립니다!
조회수 1231회
@app.route('/',methods=['GET','POST'])
def index():
user_name = None
login_error=None
numOfPage=None
listOfPage=None
numOfPage = request.args.get('page')
if numOfPage is None:
numOfPage = '1'
numOfPage = int(numOfPage)
if numOfPage<1:
numOfPage = 1
keyword = None
keyword = request.args.get('keyword')
start, end = 0, 0
if numOfPage >= 3:
start = numOfPage -2
else:
start = 1
end = start + 4
listOfPage = list(range(start, end + 1))
if isLogin():
user_name=session['user_name']
render_template('header.html', user_name=user_name)
return render_template('index.html', user_name=user_name,login_error=login_error, numOfPage=numOfPage, listOfPage=listOfPage, keyword=keyword)
else:
if request.method=='POST':
email = request.form['email']
password = request.form['password']
params = (email, password)
con=sqlite3.connect('mydatabase')
cur=con.cursor()
cur.execute('''
SELECT user_id, user_name FROM users WHERE email=? AND password=? AND isUsing='Y';
''', params)
rows = cur.fetchall()
con.close()
if len(rows)==1:
session['user_id'] = rows[0][0]
session['user_name']=rows[0][1]
return redirect(url_for('index'))
else:
login_error='login failed'
return render_template('index.html', user_name=user_name, login_error=login_error, numOfPage=numOfPage, listOfPage=listOfPage, keyword=keyword)
else:
return render_template('index.html', user_name=user_name, login_error=login_error, numOfPage=numOfPage, listOfPage=listOfPage, keyword=keyword)
render_template 쪽에 문제가 있는지 제대로 웹이 만들어 지지 않습니다ㅜ
//index.html
{% include 'head.html' %}
<body>
<div class="container">
{% include 'header.html' %}
<div class="container-fluid text-center">
<div class="row content">
<div class="col-sm-2 sidenav">
{% if user_name %} {% include 'islogin.html' %} {% else %} {% include 'default.html' %} {% endif %}
</div>
<div class="col-sm-8 text-left">
<ul class="pagination" id='board_pagination'>
<li class="page-item">
<a class="page-link" href="{{ url_for('index', page=numOfPage-1) }}">
<<</a>
</li>
{% for pn in listOfPage %}
<li class="page-item {% if pn==numOfPage %}active{% endif %}">
<a class="page-link" href="{{ url_for('index', page=pn) }}">{{ pn }}</a>
</li>
{% endfor %}
<li class="page-item">
<a class="page-link" href="{{ url_for('index', page=numOfPage+1) }}">>></a>
</li>
</ul>
</div>
<div class="col-sm-2 sidenav">
<form class="form-inline" method="GET">
<input type="search" class="form-control" name="keyword">
<input type="submit" class="btn btn-dark mx-2" value="검색">
</button>
</form>
{% if user_name %}
<a class="btn btn-dark mx-2" href="{{ url_for('board_submit') }}">글 등록</a>
{% endif %}
</div>
</div>
</div>
{% include 'footer.html' %}
</div>
<script>
$(document).ready(function () {
// initialize
// 게시판 글목록 페이지 가져오기
console.log("{{numOfPage}}", "{{keyword}}");
$.get("{{ url_for('board_list', page=numOfPage, keyword=keyword) }}".replace("&", "&"), function (data, status) {
// console.log("Data: " + data + "\nStatus: " + status);
$("#board_list").html(data);
});
});
</script>
</body>
</html>
인덱스 코드는 이렇게 되고 느낌상 jinja2에서 뭔가 걸리는거 같은데 정확한 원인을 잘 못찾겠습니다..
//header.html
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Logo</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active">
<a href="{{ url_for('index') }}">Home</a>
</li>
{% if user_name %}
<li>
<a href="{{url_for('board_submit')}}">글쓰기</a>
</li>
{% else %}
<li>
<a href="{{ url_for('user_signup')}}">회원가입</a>
</li>
{% endif %}
<li>
<a href="mailto:abledk9901@gmail.com">Contact</a>
</li>
</ul>
</div>
</div>
</nav>
</nav>
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력