Wie kann man eine Vorlage schreiben, wenn man zwischen Laravel und Flask hin und her geht? Als Memorandum.
Ich habe Laravel gemacht, aber ich möchte Flask ausprobieren Ich habe Flask gemacht, aber ich möchte Laravel ausprobieren Entweder ist für diejenigen, die es berührt haben.
Vergleich | blade | jinja2 |
---|---|---|
Ausgabe | {{Variable}} | {{Variable}} |
Ausgabe nicht zu entkommen | {!!Variable!!} | {%Variable%} |
Kommentar | {{--Kommentar--}} | {#Kommentar#} |
if | @if (Bedingter Ausdruck) | {% if Bedingter Ausdruck %} |
elseif | @elseif | {%elif bedingter Ausdruck 2%} |
else | @else | {% else %} |
endif | @endif | {% endif %} |
for | @for (Bedingter Ausdruck) | {% for Bedingter Ausdruck %} |
endfor | @endfor | {% endfor %} |
Index der aktuellen Schleife(Anfangswert 0) | $loop->index | loop.index0 |
Index der aktuellen Schleife(Anfangswert 1) | $loop->iteration | loop.index |
Gesamtzahl der Artikel | $loop->count | loop.length |
Ist es die erste Schleife? | $loop->first | loop.first |
Ist es die letzte Schleife? | $loop->last | loop.last |
$ Loop-> Index des Blades beginnt bei 0, aber loop.index von jinja2 beginnt bei 1. Ich wusste es nicht.
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">
Dies ist die Indexseite.
</p>
@endsection
Wenn angezeigt ... Der Titel und der Text werden auch gut angezeigt!
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">
Dies ist die Indexseite.
</p>
{% endblock %}
Wenn angezeigt ...
Es wurde das gleiche Display wie die Klinge.
Die übergeordnete Vorlage kann mit Blade klarer geschrieben werden.
das ist alles!
Recommended Posts