[Django] Routes #2/10 Templates/Sablon - Python - GAMELIFE România Jump to content

Recommended Posts

Posted

Până în prezent, răspunsurile noastre HTTP au fost doar text, dar putem include orice elemente HTML pe care le dorim! De exemplu, ar putea  să returnez un antet albastru în loc doar de textul din indexfuncția noastră :

def index(request):
    return HttpResponse("<h1 style=\"color:blue\">Hello, world!</h1>")

bluehello.png

 

Ar fi foarte obositor să scrii o pagină HTML întreagă înăuntru views.py. De asemenea, ar constitui un design greșit, deoarece vrem să păstrăm părți separate ale proiectului nostru în fișiere separate ori de câte ori este posibil.

Acesta este motivul pentru care vom introduce acum șabloanele Django , care ne vor permite să scriem HTML și CSS în fișiere separate și să redăm acele fișiere folosind Django. Sintaxa pe care o vom folosi pentru redarea unui șablon arată astfel:

 

def index(request):
    return render(request, "hello/index.html")

Acum, va trebui să creăm șablonul respectiv. Pentru a face acest lucru, vom crea un dosar numit templates în aplicația noastră, apoi vom crea un dosar numit hello(sau oricare ar fi numele aplicației noastre) în interiorul acestuia și apoi vom adăuga un fișier numit index.html. Dosare Apoi, vom adăuga orice vrem la noul fișier:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Hello</title>
    </head>
    <body>
        <h1>Hello, World!</h1>
    </body>
</html>

Acum, când vizităm pagina principală a aplicației noastre, putem vedea antetul și titlul au fost actualizate:

template0.png

 

Pe lângă scrierea unor pagini HTML statice, putem folosi și limbajul de șablonare Django pentru a modifica conținutul fișierelor noastre HTML pe baza adresei URL vizitate. Să încercăm schimbându-ne greetfuncția de mai devreme:

 

def greet(request, name):
    return render(request, "hello/greet.html", {
        "name": name.capitalize()
    })

Observați că am trecut un al treilea argument în renderfuncția de aici, unul care este cunoscut sub numele de context . În acest context, putem furniza informații pe care am dori să le avem disponibile în fișierele noastre HTML. Acest context ia forma unui dicționar Python. Acum, putem crea un greet.html fișier:

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>Hello</title>
    </head>
    <body>
        <h1>Hello, {{ name }}!</h1>
    </body>
</html>

template1.png

template2.png

 

 

 

 

saursa:https://cs50.harvard.edu/

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.


×
×
  • Create New...

Important Information