Django շաբլոններ

Որոշ տվյալներ ցուցադրելու ժամանակն է: Դրա համար Django- ն մեզ տալիս է մի քանի օգտակար template tags/ձևանմուշներ:

Ի՞նչ են շաբլոնային պիտակները

Ինչպես տեսնում եք, HTML- ում դուք իսկապես չեք կարող Python կոդ գրել, քանի որ բրաուզերները չեն հասկանում դա: Նրանք գիտեն միայն HTML: Մենք գիտենք, որ HTML- ը բավականին ստատիկ է, մինչդեռ Python- ը շատ ավելի դինամիկ է:

Django template tags/Django շաբլոնային պիտակները-ը թույլ են տալիս մեզ Python-ը տեղափոխել HTML- ի մեջ, այնպես որ կարող եք ավելի արագ կառուցել դինամիկ կայքեր: Հիանալի է:

ցուցադրել հաղորդագրությունների ցուցակի ձևանմուշը

Նախորդ գլխում մենք մեր ձևանմուշին/template-ին փոխանցեցինք հաղորդագրությունների ցանկը posts/հաղորդագրությունների փոփոխականում: Այժմ այն ​​կներկայացնենք HTML- ով:

Django ձևանմուշի/Django templates մեջ փոփոխական տեղադրելու համար հարկավոր է օգտագործել կրկնակի ձևավոր փակագծեր, որի ներսում փոփոխականի անունն է, ինչպես օրինակում.

blog/templates/blog/post_list.html

{{ posts }}

Փորձեք սա ձեր ձևանմուշում/template blog/templates/blog/post_list.html : Բացեք այն կոդերի խմբագրում և փոխարինեք ամեն ինչ ՝ սկսած երկրորդ –ից<div> երրորդ-</div> - ով {{ posts }}. Պահեք ֆայլը և թարմացրեք էջը ՝ արդյունքները տեսնելու համար.

Նկար 13.1

Ինչպես տեսնում եք, մենք ստացանք հետևյալ տողը.

blog/templates/blog/post_list.html

<QuerySet [<Post: My second post>, <Post: My first post>]>

Սա ցույց է տալիս, որ Django- ն փոփոխականը հասկանում էր որպես օբյեկտների ցուցակ: Հիշեք Python- ի Introduction to Python («Ներածությունից), թե ինչպես կարող ենք ցուցակներ ցուցադրել: Ճիշտ է, for հանգույցով: Django- ի ձևանմուշում դրանք կարող եք օգտագործել այսպես.

blog/templates/blog/post_list.html

{% for post in posts %}
    {{ post }}
{% endfor %}

Փորձեք սա ձեր ձևանմուշում:

Նկար 13.2

Այն աշխատում է! Բայց մենք ուզում ենք, որ դրանք հայտնվեն որպես ստատիկ գրառումներ, որոնք մենք ստեղծել ենք Introduction to HTML/ «HTML Ներածություն» գլխում: Դուք կարող եք խառնել HTML և ձևանմուշի պիտակները: Մեր body-ի տարրը կունենա այսպիսի տեսք.

blog/templates/blog/post_list.html

<header>
    <h1><a href="/">Django Girls Blog</a></h1>
</header>

{% for post in posts %}
    <article>
        <time>published: {{ post.published_date }}</time>
        <h2><a href="">{{ post.title }}</a></h2>
        <p>{{ post.text|linebreaksbr }}</p>
    </article>
{% endfor %}

Այն ամենը, ինչ դնում եք {% for %} - ի և {% endfor %} - ի միջև, կկրկնվի ցուցակի յուրաքանչյուր կետի համար: Թարմացրեք էջը ՝

Նկար 13.3

Նկատե՞լ եք, որ այս անգամ մենք մի փոքր այլ գրառում ենք օգտագործել ({{ post.title }} or {{ post.text }})? Մենք մուտք ենք գործում տվյալների Post մոդելում սահմանված յուրաքանչյուր դաշտ: Նաև |linebreaksbr -ը տեքստը ֆիլտրում է զտիչի միջոցով ՝ տողերի ընդմիջումները/line-breaks/ պարբերությունների/paragraphs/ վերածելու համար:

Եվս մեկ բան

Ժամանակն է մեկ անգամ ևս համոզվել, որ մեր կայքը կաշխատի հանրային ինտերնետում, այնպե՞ս չէ: Փորձենք կայքի նոր տարբերակը տեղակայել PythonAnywhere - ում: Ահա քայլերի ամփոփումը...

  • Նախ վերբեռնեք ձեր կոդը GitHub- ում

command-line

$ git status
[...]
$ git add .
$ git status
[...]
$ git commit -m "Modified templates to display posts from database."
[...]
$ git push
  • Դրանից հետո անցեք PythonAnywhere , բացեք Bash console (կամ սկսեք նորը) և մուտքագրեք հրահանգը.

PythonAnywhere command-line

$ cd <your-pythonanywhere-domain>.pythonanywhere.com
$ git pull
[...]

(Հիշեք, որ <your-pythonanywhere-domain> - ը փոխարինեք ձեր PythonAnywhere օգտվողի անունով, առանց անկյունային փակագծերի:)

  • Վերջապես, անցեք "Web" page/«Վեբ» էջ և սեղմեք Reload/Վերաբեռնում ձեր վեբ հավելվածում: (Վահանակից PythonAnywhere- ի այլ էջեր հասնելու համար օգտագործեք վերևի աջ անկյունում գտնվող ընտրացանկի կոճակը): Ձեր թարմացումը պետք է հասանելի լինի https://subdomain.pythonanywhere.com- ստուգեք բրաուզերում: Եթե ​​PythonAnywhere կայքում բլոգի գրառումները չեն համընկնում տեղական սերվերում տեղակայված բլոգում հայտնվող գրառումների հետ, դա նորմալ է: Ձեր տեղական համակարգչի և PythonAnywhere- ի տվյալների բազան համապատասխանեցված չէ ձեր մնացած ֆայլերի հետ:

Շնորհավորում ենք։ Այժմ շարունակեք և փորձեք նոր գրառում ավելացնել Django ադմինիստրատորին (չմեռանաք ավելացնել published_date!) Համոզվեք, որ դուք գտնվում եք Django ադմինիստրատորում ձեր pythonanywhere կայքի համար https://subdomain.pythonanywhere.com/admin: Դրանից հետո թարմացրեք ձեր էջը ՝ տեսնելու համար արդյոք գրառումը հայտնվում է այնտեղ:

Զարմանալի՞ է աշխատում: Մենք հպարտ ենք ձեզանով: Մի փոքր հեռացեք համակարգչից. Դուք ընդմիջում եք վաստակել:

Նկար 13.4

results matching ""

    No results matching ""