Views
View مكاني ميباشد كه ما business logic نرم افزار طراحي اپليكيشن در مشهد خويش را در آن قرار ميدهيم.
View يك تابع پايتون ميباشد كه براي جاري ساختن برخي business logic و بازگرداندن جواب به مخاطب به كار گيري ميشود.
اين جواب قادر است محتويات HTML يك شيت اينترنت يا اين كه تغيير و تحول مسير يا اين كه خطاي 404 باشد.
آحاد كارايي view در باطن فولدر views.py اپليكيشن جنگو ساخت ميشود.
آغاز كتابخانه DateTime را وارد ميكنيم كه متدي براي اخذ تاريخ و فرصت فعلي و كلاس HttpResponse ارائه ميدهد.
در مرحله آنگاه، يك نمايه تابع view تمجيد ميكنيم كه درخواست HTTP را ميگيرد و جواب ميدهد.
هنگامي با URL در urls.py رسم ميشود، تماس ها را ببينيد.
به عنوان مثال
نمونه (View HTTP Decorators)
HTTP Decorators براي محصور كردن دسترسي به مشاهده مبني بر روال درخواست استعمال ميگردد.
اين دكوراتورها در django.views.decorators.http فهرست گرديدهاند و در شكل عدم رعايت موقعيت، يك django.http.HttpResponseNotAllowed را برميگردانند.
سينتكس
require_http_methods(request_method_list)
نمونه
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse, HttpResponseNotFound
from django.views.decorators.http import require_http_methods
@require_http_methods(["GET"])
def show(request):
return HttpResponse('
This is Http GET request.
')
اين اسلوب تنها اگر جاري ساختن ميشود كه درخواست يك درخواست HTTP GET باشد.
Templates
جنگو با به كارگيري از سيستم Templates خويش شيوه مناسبي براي ساخت و ساز صفحه ها HTML پويا ارائه ميدهد.
يك Templates مشمول نصيبهاي اثبات خروجي HTML متبوع و همينطور برخي سينتكس خاص ميباشد كه طريق درج محتواي پويا را توضيح مي دهد.
در فولدر HTML، نميتوانيم كد پايتون بنويسيم ، چون كد تنها به وسيله مفسر پايتون تعبيروتفسير ميگردد خير مرورگر.
ميدانيم كه HTML يك لهجه نشان گذاري اثبات ميباشد ، در حالي كه پايتون يك لهجه اپليكيشن نويسي پويا ميباشد.
موتور Templates جنگو براي غيروابسته كردن Templates از كد پايتون به كار گيري مي گردد و به ما اذن ميدهد صفحه ها اينترنت پويا بسازيم.
تنظيمات Templates جنگو
براي تنظيمات سيستم Templates ، بايستي يك سري ورودي در فولدر settings.py ارائه نماييم.
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [سيستم عامل.path.join(BASE_DIR,'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.mesغير مجاز مي باشدes.context_processors.mesغير مجاز مي باشدes',
],
},
},
]
در اينجا بيان كرديم كه اسم دايركتوري Templates ما templates ميباشد.
به صورت پيش فرض، DjangoTemplates در ادامه يك ذيل شاخه الگوها در هركدام از INSTALLED_APPS مي شود.
مثال بي آلايش Templates جنگو
آغاز يك پوسته دايركتوري در باطن اپ پروژه ساخت فرمائيد، همان طور كه در تحت ايفا داديم.
بعداز آن يك پوسته index.html در باطن فايل ساختوساز گرديده ساخت و ساز نماييد.
index.html الگوي ما دربردارنده كد تحت ميباشد.
Welcome to Django!!!
براي بار گذاري template ، سياق ()get_template را همانگونه كه در تحت ايفا داديم فراخواني نماييد و اسم پوسته را ارسال نماييد.
from django.shortcuts import render
#importing loading from django template
from django.template import loader
# Create your views here.
from django.http import HttpResponse
def index(request):
template = loader.get_template('index.html') # getting our template
return HttpResponse(template.render()) # rendering the template in HttpResponse
يك URL براي دسترسي به سر مشق از مرورگر تهيه نماييد.
path('index/', views.index),
تصويب اپليكيشن در درون INSTALLED_APPS
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.mesغير مجاز مي باشدes',
'django.contrib.staticfiles',
'myapp'
]
فرمان تحت را ايفا فرماييد و با وارد كردن localhost:8000/index در مرورگر به template دسترسي پيدا فرماييد.
Template Language
template جنگو از سينتكس خاص خويش براي تقابل با متغيرها ، برچسب ها ، لغت ها و .. به كارگيري مي نمايد.
يك template با موضوع اي ارائه مي گردد كه براي بدست آوردن قيمت در يك كاغذ اينترنت به كارگيري ميشود.
مثال ها را مشاهده كنيد.
متغيرها
متغيرهاي مربوط به يك موضوع را مي قدرت با {{}} (پرانتزهاي فرفري دوتايي) دسترسي داشت.
مثلا، مقدار اسم متغير rahul ميباشد.
آنگاه عبارت ذيل اسم را با مقدار آن جايگزين مي نمايد.
My name is {{name}}.
My name is rahul
نمونه
from django.shortcuts import render
#importing loading from django template
from django.template import loader
بازدید: