بخش های اصلی

آموزش Django

Django – ایجاد Viewها

تابعِ view یا بصورت مختصر “view”، یک تابعِ Python ساده ست که درخواستِ وب را می گیره و یک پاسخِ وب برمی گردانه. این پاسخ می تواند HTML، یک عکس یا .... باشه. مثال: از view برای ایجاد صفحه های وب استفاده میشه، به خاطر داشته باشین که باید view را به یک URL تخصیص بدین تا بتوانید آن را بصورت یک صفحه ی وب ببینین.

در Django، viewها باید در یکی از فایل های برنامه به نامِ views.py ایجاد بشن.

یک View ساده

در این قسمت یک view ساده در myapp ایجاد می کنیم که خروجی آن "welcome to my app!" است.

view زیر را ببینین:

from django.http import HttpResponse

def hello(request):
   text = """<h1>welcome to my app !</h1>"""
   return HttpResponse(text)

در این view برای رِندِر کردنِ HTML (همانطور که متوجه شدین، view حاوی کدهای HTML است) از HttpResponse استفاده کرده ایم. برای این که این view را مثل یک صفحه ببینیم باید آن را به یک URL، map کنیم (راجع به این موضوع در بخش بعدی توضیح میدیم).

همانطور که دیدین از HttpResponse برای رِندِر کردن کدِ HTML داخلِ view استفاده کردیم. این روش، بهترین روش برای رِندِر کردن صفحه ها نیست. Django از الگویِ MVT پشتیبانی می کنه، بنابراین برای ایجاد نمونه view با Django-MVT  نیاز به:

یک template: myapp/templates/hello.html، داریم.

اکنون view بصورت زیر خواهد بود:

from django.shortcuts import render

def hello(request):
   return render(request, "myapp/template/hello.html", {})

viewها، پارامتر هم قبول می کنن:

from django.http import HttpResponse

def hello(request, number):
   text = "<h1>welcome to my app number %s!</h1>"% number
   return HttpResponse(text)

وقتی صفحه را به یک URL لینک می کنیم، صفحه، عددی که بعنوان پارامتر به آن پاس داده شده را نمایش میده. به یاد داشته باشین که پارامترها از طریق URL پاس داده میشن (در بخش بعدی راجع به این موضوع توضیح میدیم).

در صورتی که سوال و یا نظری دارید، از بخش نظرات با ما در میان بگذارید.

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد

شما چه نظر و یا سوالی درباره این نوشته دارید؟

مبحث آموزشی

آموزش Django

Learn Django

پرســیدن سؤال جدید

سؤال های تخصصی خود را از ما بپرسید

دنبال کردن تلگرام کانال سافت اسکیل

https://telegram.me/softskill_ir

عملیات کاربران

خبـرنــامه

Newsletters

در خبــرنـامه سافت اسکیل عضو شویــد تا جدیدترین هـای سایت را بلافاصله در ایمیل خـود دریافت کنیـد