01/10/2018, 00:09
Hỏi về templates inheritance trong Flask Framework?
Ở đây không biết có ai rành về flask không nhỉ Mình muốn hỏi là cách thức thừa kế templates trong flask nó hoạt động như thế nào ?? Mình thấy hơi bị bối rối chỗ kế thừa này
Mình có hai file : homepage.html và about.html
homepage.html
<!DOCTYPE html>
<html charset:utf-8>
<head>
{% block head %}
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap -->
<link href="{{ url_for('static',filename='css/bootstrap.min.css')}}" rel="stylesheet">
<title>Personal Page</title>
{% endblock %}
</head>
<header>
<a href="/">
<button type="button" class="btn btn-primary" aria-label="Left Align">
<span class="glyphicon glyphicon-home" aria-hidden="true" > Home </span>
</button>
</a>
<a href="/about/">
<button type="button" class="btn btn-primary" aria-label="Left Align">
<span class="glyphicon glyphicon-eye-open" aria-hidden="true"> About </span>
</button>
</a>
<a href="/download">
<button type="button" class="btn btn-primary" aria-label="Left Align">
<span class="glyphicon glyphicon-floppy-save"> Download </span>
</button>
</a>
</header>
<body>
<div class="jumbotron text-center">
<h1> WHY SHOULD YOU LEARN PYTHON? </h1>
</div>
<video style="width: 100%; height: 30%" controls="controls">
<source src="https://daynhauhoc.com/static/videos/Python.mp4" type="video/mp4">
</video>
{% block body %}
<script type="text/javascript" src="{{ url_for('static',filename='js/bootstrap.min.js') }}"></script>
<script src="https://daynhauhoc.com//code.jquery.com/jquery-1.11.1.min.js"></script>
{% endblock %}
</body>
</html>
và about.html
{% extends "homepage.html" %}
{% block head %} {{ super() }} {% endblock %}
{% block body %}
<div class="jumbotron text-center">
<h1> <b> HELLO </b> </h1>
</div>
<div class = "jumbotron text-center">
<h3>
I'm just a newbee in Python Language. After learning Python via Youtube,Documents,etc. I decide to make this website.
There's nothing special about this page. Purpose is to learn how to use Flask Framework and Python to make a website.
</h3>
</div>
<audio controls autoplay="autoplay" hidden="hidden">
<source src="https://daynhauhoc.com/static/music/So Blue.mp3" type="audio/mpeg">
</audio>
{%endblock%}
Mình kế thừa phần body của homepage.html. Mình thử đặt block như sau
<body>
<div class="jumbotron text-center">
<h1> WHY SHOULD YOU LEARN PYTHON? </h1>
</div>
<video style="width: 100%; height: 30%" controls="controls">
<source src="https://daynhauhoc.com/static/videos/Python.mp4" type="video/mp4">
</video>
{% block body %}
<script type="text/javascript" src="{{ url_for('static',filename='js/bootstrap.min.js') }}"></script>
<script src="https://daynhauhoc.com//code.jquery.com/jquery-1.11.1.min.js"></script>
{% endblock %}
</body>
thì about.html sẽ kế thừa toàn bộ phần body của homepage.html (1 cái video) nhưng khi đặt block như sau
<body>
{% block body %}
<div class="jumbotron text-center">
<h1> WHY SHOULD YOU LEARN PYTHON? </h1>
</div>
<video style="width: 100%; height: 30%" controls="controls">
<source src="https://daynhauhoc.com/static/videos/Python.mp4" type="video/mp4">
</video>
<script type="text/javascript" src="{{ url_for('static',filename='js/bootstrap.min.js') }}"></script>
<script src="https://daynhauhoc.com//code.jquery.com/jquery-1.11.1.min.js"></script>
{% endblock %}
</body>
thì lại không kế thừa được cái video. Cho mình hỏi là tại sao??
Bài liên quan
có ai giải thích giúp mình được không