favicon이란 탭이나 북마크를 구별하기 위해 사용하는 브라우저에서 사용되는 아이콘이다.
기본적으로는 16*16의 icon 파일을 기본으로 하고 있지만 일부 브라우저 파일에서 png 파일도 지원하고 있습니다.
favicon 만들기
windows에서 ico파일을 편집할 수 없기때문에 검색해서 만들수 있는 site에서 만들면 됩니다.
https://favicon.io/ 에서 텍스트를 이용해서 간단하게 만들었습니다.
flask에서 넣기 참고 링크
https://flask-docs-kr.readthedocs.io/ko/latest/patterns/favicon.html
html에 설정하기
<link rel="shortcut icon" href="{{ url_for('static', filename='favicon.ico') }}">
소스파일에 추가하기
방법1
app.add_url_rule('/favicon.ico', redirect_to=url_for('static', filename='favicon.ico'))
어플리케이션에 루트에 있어야 한다고 하는데... 막상 해보면 방법1은 잘안됩니다.
방법2
import os from flask import send_from_directory @app.route('/favicon.ico') def favicon(): return send_from_directory(os.path.join(app.root_path, 'static'), 'favicon.ico', mimetype='image/vnd.microsoft.icon')
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import os from flask import send_from_directory from flask import Flask from flask import request from flask import render_template from flask import jsonify app = Flask(__name__) @app.route("/") def index(): return render_template('input_form.html') @app.route('/favicon.ico') def favicon(): return send_from_directory(os.path.join(app.root_path, 'static'),'favicon.ico', mimetype='image/vnd.microsoft.icon') @app.route("/ajax_page", methods=['POST']) def ajax_page(): data = request.get_json() print(data) calc_result = calc(data['inputdata']) rdata = {} rdata['inputdata']=data['inputdata'] rdata['rlt']=calc_result print(rdata) return jsonify(rdata) def calc(inputdata): return str(eval(inputdata)) if __name__ == "__main__": app.run(port=8080, debug=True) |
static 폴더를 만들고 거기에 favicon.ico 파일을 넣어야 하는데 위치는 전체 소스를 참고하세요.
전체 소스는 github에 있습니다.
https://github.com/donarts/sourcecode/tree/main/python/example/_36_flask_favicon
Hey, great thought on this blog, and I loved how you talked about software developer jobs. There are different platforms, and each platform has different benefits for its developers. I also know about one of the platforms, Eiliana.com; they are a new freelancing platform. They have 24*7 support for their freelancers and help you get the best project work.
답글삭제