Loading...

Django - Konfigurasaun Templates Django ho App ida

Konfigurasaun Templates Django ho App ida

Saida mak Templates Django?

Template Django mak dokumentu testu ida ne'ebé maka marka ho lian Python ida uza Tempate Django.  Prinsipiu dahuluk mak variavel no tags. Sira nia funsaun mak permite ita atu kria dokumentu markup HTML dinámiku, XML, ka dokumentu markup sira seluk, liu husi estrutura no kontrolu manipulasaun dadus. Django nia template sira uza atu kria HTML ne'ebé haruka ba kliente nia navegador web bainhira utilizadór ida husu pájina web.


Prerekezitu - Oinsá konfigura Template Django? 

  1. Kria projetu Django ida
  2. Konfigura iha settings.py iha projetu nia laran 
  3. Konfigura URLs ho views
  4. Konfigura Template Django

1. Kria projetu Django

Atu kria ita-nia projetu ida uza Django favor vizita blog ne'e https://onydev.pykafe.org/tet/detail/kria-projetu-uza-django/ kona-bá oinsá ita bele kria projetu/website ida.


2. Konfigura iha file settings.py

Karik ita-nia naran aplikasaun seidauk inklui iha settings.py file, loke file ne'e iha ita-nia text editor hodi hatama ita-nia app (ez. appteste) ba iha laran iha liña INSTALLED_APPS nian, hanesan ezemplu hatudu iha okos:

projetuteste/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'appteste', # naran app foun
]

Tuir mai, aumenta mos kódigu foun hanesan iha okos iha liña TEMPLATES nian

projetuteste/settings.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')], # New
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]


3. Konfigurasaun URLs ho views

Etapa 1:

Loke file views.py ida iha folder ita nia app (ez. appteste) nia laran no hatama kódigu sira hanesan ezemplu tuir mai:

appteste/views.py

from django.shortcuts import render

def index(request):
    my_dict = {"insert_me": "I am from views.py"}
    return render(request,'index.html',context=my_dict)

Etapa 2: 

Kria file foun ida fo naran urls.py iha folder ita nia app (ez. appteste) nia laran no hatama códigu sira hanesan tuir mai:

appteste/urls.py

from django.urls import path
from appteste import views

urlpatterns = [
    path('', views.index, name="homepage")
]

Etapa 3: 

Loke file urls.py iha folder projetu  (ez. projetuteste) nia laran no registu ita-nia app URLs iha laran

projetuteste/urls.py

"""projetuteste URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/4.0/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('appteste.urls')),
]

4. Konfigurasaun Templates Django 

Definisaun - Saída mak base.html?

base.html mak naran jerál ida ba baze template iha dezenvolvimentu web. Baibain uza atu define estrutura bázika pájina web tomak. Estrutura ida-ne'e inklui elementu sira hanesan <html>, <head>, no <body> tags, no la inklui navigasaun, header ho footer. Dezenvolvidor sira uza base.html nu'udar baze ba modelu/template sira seluk, hodi permite sira atu simu estrutura no arranju/layout ne'ebé define iha base.html no mós fornese konteúdu espesífiku ba kada pájina ida-idak. Ida ne'e hetan liu husi template inheritance uza tags template Djano hanesan {% block %} no {% extend %}.


Definisaun - Saída mak base_site.html?

base_site.html la'ós naran estandar pre-definidu iha Django. Uza naran ida-ne'e hanesan modelu/template baze espesífiku atu partikula ita-nia dezenvolvimentu projetu tuir ida-idak nia preferénsia. Baibain base_site.html uza hodi espesífika estrutura rua hanesan, header ho footer.


Definisaun - Saída mak index.html?

Iha Django, index.htm la'ós naran espesiál ka rezerva. Ida ne'e hanesan métodu ida oinsa hanaran template HTML ida iha projetu Django. Baibain ita espesífika template ida atu uza hodi hato'o resposta HTML. File template ne'e baibain hanaran hanesan index.html ka pajina "something.html" atu hatudu ninia objetivu. Por ezemplu, se ita iha view ida ne'ebé hakarak hatudu iha pájina, karik ita bele bolu index.html ka "something.html".


Etapa 1: 

Iha ita-nia projetu nia laran, kria directory/folder ida naran templates no depois kria HTML file sira hanesan base.html, base_site.html ho index.html iha folder templates nia laran. Estrutura folder sira sei haree hanesan ezemplu hatudu tuir mai:

projetuteste/

|____projetuteste
| |____asgi.py
| |______init__.py
| |____settings.py
| |____urls.py
| |____wsgi.py
|____appteste
| |____migrations
| | |______init__.py
| |____models.py
| |______init__.py
| |____apps.py
| |____admin.py
| |____tests.py
| |____urls.py
| |____views.py
|____db.sqlite3
|____templates
| |____index.html
| |____base.html
| |____base_site.html
|____manage.py


Etapa 2

Loke file foun base.html iha folder templates nia laran ne'ebé ita foin kria, no hatama kódigu báziku HTML nian hanesan ezemplu tuir mai:

templates/base.html

<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>
            {% block title %}
            {% endblock %}
        </title>
    </head>
    <body>
        {% block header %}
        {% endblock %}

        {% block content %}
        {% endblock %}

        {% block footer %}
        {% endblock %}
    </body>
</html>

Etapa 3

Loke file foun base_site.html iha folder templates ne'ebé ita foin kria nia laran no hatama códigu báziku HTML nian hanesan ezemplu tuir mai:

templates/base_site.html

{% extends 'base.html' %}

{% block header %}
Header will be here
{% endblock %}

{% block footer %}
Footer will be here
{% endblock %}


Etapa 4

Loke file foun index.html iha folder templates ne'ebé ita foin kria nia laran no hatama códigu báziku HTML nian hanesan ezemplu tuir mai:

templates/index.html

{% extends 'base_site.html' %}

{% block title %}
This is index title
{% endblock title %}

{% block content %}
<h1>Main content of index.html</h1>
<p>{{ insert_me }}</p>
{% endblock content %}


Ezekuta/runserver no vizita ita-nia website:



Job Hotu Ona!!

Espera katak ita bele kontente lee hau nia blog ida ne'e. Favór ida keta haluha atu husik hela imi-nia komentáriu ruma iha kraik hodi hau hadia diak liu tan iha futuru iha blog tuirmai.

-- Obrigadu!

0 Comments

Related Post