سلام!
این مقاله از سلسله مقالات طراحی سایت با پایتون هست. شما میتونید این سلسله رو از اینجا بخوانید.
در ویرگول بخوانید در وبلاگ راشد عبیدی بخوانید
خوب در قسمت قبلی اولین پروژه جنگوی خودمون رو شروع کردیم و اولین اپ رو هم اجرا کردیم توی این قسمت میخوایم که با url ها و views ور بریم. خوب پایتون شبیه اچ تی ام ال و پی اچ پی نیست. اینو بخاطر بسپارید پایتون رو کاملا شما اداره می کنید از صفر تا صدش رو خودتون میسازید و ویرایشش می کنید. یو ار ال ها در اصل چی هستند؟
هر کلمه ای که شما در نوار مرورگر خودتون وارد می کنید یو ار ال گفته میشه. این شاید عدد باشه یا حرف باشه یا ترکیبی از این دو باشه. حالا که یو ار ال ها رو شناختید پس میریم به سمت کار با این یو ار ال ها همانطور که گفتم شما باید حرف به حرف یا همون هر کاراکتری که داخل نوار مرورگر وارد میشه رو باید از قبل تعریف کرده باشید که مثلا اگه فلان چیز وارد شد فلان چیز رو نشان بده. و اگر این کاربر کلمه ای رو وارد کنه که شما از قبل تعریفش نکرده بودیدکه با وارد شدن این کلمه چی نشان داده بشه پس در این وقت مرورگر یه اروری میده که برای سایت شما مناسب نیست . ( کد های سایت رو یا همان فایل یو ار ال رو به نمایش میذاره ) شاید با خودتون فکر کنید که چقدر سخته که تک تک کاراکتر ها رو معرفی کنیم و شاید هم ناممکن بنظر بیاد اما نترسید من الان یه مثال ساده میزنم که ببینید چقدر ساده ست :-
url(r'^(?P<album_id>[0-9]+)/$', views.detile, name='detile'),
توی کد بالا گفتیم که هرگاه کاربر عددی از یک تا ۹ و یا زیاد تر از آن وارد کرد ویو ( بعدا خواهیم خواند ) رو از توی فایل views.py آپلود کن. و در کنار این یک یو ار ال دیگه هم میسازیم که اگر یو ار ال از قبل تعریف نشده بود و توسط کاربر وارد شده باشه یه صفحه ۴۰۴ سفارشی رو نشون بده. ساده بود نه؟ :)
ما در این قسمت فقط دو نوع ساده از یو ار ال ها رو میسازیم و یاد می گیریم ( در قسمت های بعدی بیشتر یاد می گیریم ).
خوب یو ار ال اول آدرس صفحه اصلی سایت هستش به مثال زیر توجه کنید :
url(r'^$', views.index, name='index'),
یادمون باشه علامت $ یعنی همین ( همین جا یا همان صفحه اصلی ) ماقبلا یو ار ال اپ مون رو توی صفحه یو ار ال پروژه وارد کردیم و گفتیم که اگر texts ( همان نام اپ ) وارد شد تو یو ار ال های اپ رو از توی فایلی که درون پوشه اپ هست رو آپلود کن پس وقتی شما میگین :
http://localhost:8000/texts/
سرویس میره و از داخل فایل url.py در پوشه texts آدرس ها رو دریافت می کنه و میبینه که آدرسی که وارد شده باید چه ویوی رو نشان بده.
پس توی این یو ار ال گفتیم که در صورتی که بعد از کلمه texts هیچ کلمه ی دیگری وارد نشده باشد پس از داخل views ویوی index رو نمایش بده.
خوب پس یه مثل دیگری میدیم :
url(r'^story/', views.story, name='story'),
توی این یو ار ال ( url ) ما گفتیم که وقتی که آدرس story وارد شد story رو از توی views نشان بده. البته حتما یادتونه که این آدرس ها باید بعد از کلمه texts وارد شده باشه چون url ها در اپ texts شناخته شده است نه در صفحه اصلی به مثال زیر توجه کنید :
با وارد کردن این آدرس ارور نمایش داده میشه
http://localhost:8000/story/ ===== xxxxxx خطا
و اما با وارد شدن آدرس زیر از درون views ویوی index نمایش داده میشه.
http://localhost:8000/texts/story/
امیدوارم خوب فهمیده باشید چون سابقه نشان داده که من هیچ وقت یه چیزی رو خوب توضیح ندادم و اگه این هم همینطور باشه که دیگر واویلا به حال من :(
به هر حال سوالات تون رو میتونید هم از بخش نظرات و هم از طریق ایمیل :-
rashid.obaidi2003@gmail.com
مطرح کنید به هرحال امیدوارم بتونم به شما کمکی بکنم. خوب بریم سر کلاس :
ما تا به اینجا دو url ایجاد کردیم پس حالا باید تو views هم بسازیم . میریم توی فایل views.py و مثال رو بعد از عبارت # Create your views here. وارد می کنیم :
from django.http import HttpResponse
def index(request):
return HttpResponse("<h2> hello world this is my home page</h2>")
و این مثال رو هم بعد از اون وارد می کنیم :
def index(story):
return HttpResponse("<h2> hello world this is my<b>story</b> page</h2>")
خوب حالا دو views داریم بریم و توی مرورگر وارد سایت خودمون میشیم. وارد شدید؟ الان به آدرس اپ خودتان برید . اگر همه چیز درست باشد پس باید با جمله ای زیر مواجه شوید :
hello world this is my home page
و الان کلمه story رو هم در کنار نام اپ اضافه کنید :
http://localhost:8000/texts/story/
و حالا باید چیزی شبیه این باشد :
hello world this is my story page
الان برید و views رو ببینید و دستکاری کنید .
توضیح : ما با عبارت HttpResponse گفتیم متنی که درون جمله هست رو چاپ کنه. شما میتونید از تگ های HTML هم استفاده کنید ولی سعی کنید تا حد امکان کوتاه باشه چون ممکنه توی اجراش به مشکل بخوره. توی قسمت های بعد یاد می گیریم که چگونه یه صفحه HTML رو نمایش بدیم .
خوب این قسمت هم تمام شد.
مثل همیشه :) این مقاله مجموعه ایست از دست نوشته های راشد عبیدی که در وبلاگ راشد عبیدی منتشر شده است.