Django a une balise de modèle pratique appelée ** extend **, qui peut vous faire gagner beaucoup de temps à écrire du HTML, alors profitons-en.
J'ai créé un répertoire appelé bases (quel que soit son nom) sous templates et j'ai écrit base.html, qui est le cadre de toutes les pages.
templates/bases/base.html
<!DOCTYPE html>
<html lang="ja">
<head>
<title>{% block title %}Shift-Maker{% endblock %}</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="{{ STATIC_URL }}css/bootstrap.min.css">
<link rel="stylesheet" href="{{ STATIC_URL }}css/bootstrap-theme.min.css">
<script src="{{ STATIC_URL }}js/jquery-1.11.0.js"></script>
<script src="{{ STATIC_URL }}js/bootstrap.min.js"></script>
</head>
<body><div class="container">
{% block main %}
{% endblock %}
</div></body>
</html>
Je veux utiliser Bootstrap et jQuery sur n'importe quelle page, je les ai donc spécifiés ici à l'avance. ** STATIC_URL ** est défini dans ** settings.py **, dans mon cas
STATIC_URL = '/static'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
est. ** STATICFILES_DIRS ** vous permet de spécifier le répertoire où les fichiers seront placés, alors créez un répertoire approprié et appliquez-le.
Tout ce que vous avez à faire est de saisir le contenu de chaque page. Le déroulement revient à déclarer le modèle parent avec ** extend ** et à placer le contenu à l'endroit spécifié avec ** block **. Par exemple, écrivez comme suit.
{% extends 'bases/base.html' %}
{% block title %}Hello,world!{% endblock %}
{% block main %}
<h1>This is test!!</h1>
<button class="btn btn-lg">Click me</button>
<script type="text/javascript">
var count = 0;
$('.btn').click(function(){
alert(count + "click!");
});
</script>
{% endblock main %}
J'ai hérité correctement de Bootstrap et de jQuery de mes parents, donc je n'ai pas à écrire la même chose à chaque fois.
Eh bien, en fait, je suis venu ici ** précédemment J'ai remarqué qu'il y avait un problème avec le modèle de base de données que j'ai créé, et je l'ai résolu de manière significative **, donc la prochaine fois Je le posterai à nouveau (je laisserai le précédent en mémoire).
Disons que vous créez la vue après cela.
Recommended Posts