Quelle est la façon d'écrire un modèle lors des allers-retours entre Laravel et Flask? En tant que mémorandum.
Je faisais du Laravel mais je veux essayer Flask Je faisais Flask mais je veux essayer Laravel L'un ou l'autre est pour ceux qui l'ont touché.
Comparaison | blade | jinja2 |
---|---|---|
production | {{variable}} | {{variable}} |
Sortie pour ne pas s'échapper | {!!variable!!} | {%variable%} |
commentaire | {{--commentaire--}} | {#commentaire#} |
if | @if (Expression conditionnelle) | {% if Expression conditionnelle %} |
elseif | @elseif | {%expression conditionnelle elif 2%} |
else | @else | {% else %} |
endif | @endif | {% endif %} |
for | @for (Expression conditionnelle) | {% for Expression conditionnelle %} |
endfor | @endfor | {% endfor %} |
Index de la boucle de courant(Valeur initiale 0) | $loop->index | loop.index0 |
Index de la boucle de courant(Valeur initiale 1) | $loop->iteration | loop.index |
Nombre total d'articles | $loop->count | loop.length |
Est-ce la première boucle? | $loop->first | loop.first |
Est-ce la dernière boucle? | $loop->last | loop.last |
$ Loop-> index de la lame commence à 0, mais loop.index de jinja2 commence à 1. Je ne savais pas.
blade
@php
$test = 'test';
@endphp
jinja2
{% set test = 'test' %}
blade
@php
$test = 'test';
@endphp
jinja2
{% set test = 'test' %}
blade
html:views/layouts/parent.blade.php
<!DOCTYPE html>
<html lang="en">
<head>
@yield('head')
<title>@yield('title') - My Webpage</title>
</head>
<body>
<main>
@yield('content')
</main>
</body>
</html>
html:views/child.blade.php
@extends('layouts.parent')
@section('head')
<style type="text/css">
.text{ color: #336699; }
</style>
@endsection
@section('title')
Index
@endsection
@section('content')
<h1>Index</h1>
<p class="text">
Ceci est la page d'index.
</p>
@endsection
Lorsqu'il est affiché ... Le titre et le texte sont également bien affichés!
jinja2
parent.html
<!DOCTYPE html>
<html lang="en">
<head>
{% block head %}
<title>{% block title %}{% endblock %} - My Webpage</title>
{% endblock %}
</head>
<body>
<main>{% block content %}{% endblock %}</main>
</body>
</html>
child.html
{% extends "base.html" %}
{% block head %}
{{ super() }}
<style type="text/css">
.text { color: #336699; }
</style>
{% endblock %}
{% block title %}
Index
{% endblock %}
{% block content %}
<h1>Index</h1>
<p class="text">
Ceci est la page d'index.
</p>
{% endblock %}
Lorsqu'il est affiché ...
C'est devenu le même écran que la lame.
Le modèle parent peut être écrit plus clairement avec Blade.
c'est tout!
Recommended Posts