فهرست سرفصل‌های Django
خانه (Home) مقدمه (Intro) شروع به کار (Get Started) ساخت محیط مجازی (Create Virtual Environment) نصب (Install Django) ساخت پروژه (Create Project) ساخت اپ (Create App) ویوها (Views) آدرس ها (URLs) قالب ها (Templates) مدل ها (Models) افزودن داده (Insert Data) به روزرسانی داده (Update Data) حذف داده (Delete Data) به روزرسانی مدل (Update Model) آماده سازی قالب و ویو (Prep Template and View) افزودن لینک به جزئیات (Add Link to Details) افزودن قالب مادر (Add Master Template) افزودن صفحه ایندکس اصلی (Add Main Index Page) قالب 404 (404 Template) افزودن ویوی تست (Add Test View) پنل مدیریت (Admin) ساخت کاربر (Create User) افزودن مدل ها (Include Models) تنظیم List Display (Set List Display) به روزرسانی اعضا (Update Members) افزودن اعضا (Add Members) حذف اعضا (Delete Members) متغیرها (Variables) تگ ها (Tags) شرط if/else (If Else) حلقه for (For Loop) کامنت (Comment) include (Include) معرفی QuerySet (QuerySet Introduction) متد get (QuerySet Get) فیلتر (QuerySet Filter) مرتب سازی (QuerySet Order By) افزودن فایل های استاتیک (Add Static Files) نصب WhiteNoise (Install WhiteNoise) جمع آوری فایل های استاتیک (Collect Static Files) افزودن فایل های استاتیک سراسری (Add Global Static Files) افزودن استایل به پروژه (Add Styles to the Project) مقدمه (PostgreSQL Intro) ساخت حساب AWS (Create AWS Account) ساخت دیتابیس در RDS (Create Database in RDS) اتصال به دیتابیس (Connect to Database) افزودن اعضا (Add Members) Elastic Beanstalk (EB) ساخت requirements.txt (Create requirements.txt) ساخت django.config (Create django.config) ساخت فایل zip (Create .zip File) استقرار با EB (Deploy with EB) به روزرسانی پروژه (Update Project) افزودن فیلد slug (Add Slug Field) افزودن Bootstrap 5 (Add Bootstrap 5) مرجع تگ های قالب (Template Tag Reference) مرجع فیلترها (Filter Reference) مرجع Field Lookups (Field lookups Reference) کامپایلر (Compiler) تمرین ها (Exercises) آزمون (Quiz) سرفصل (Syllabus) برنامه مطالعه (Study Plan) سرور (Server) گواهینامه (Certificate)
نتیجه‌ای برای جستجو یافت نشد.
Django

Django — افزودن لینک به جزئیات (Add Link to Details)

آخرین بروزرسانی: 1404/08/20

افزودن لینک به جزئیات (Add Link to Details)

اینجا لینک هر عضو را به «صفحه جزئیات» وصل می کنیم. «جزئیات (Details)» یعنی صفحه ای که اطلاعات کامل همان عضو را نشان می دهد. سپس مسیرها را تنظیم می کنیم و نتیجه را می بینیم.

ساخت قالب جزئیات (details.html)

یک قالب بساز که اطلاعات یک عضو را نشان دهد. از «متغیر قالب (Template Variable)» برای نمایش نام ها استفاده کن.

<!DOCTYPE html>
<html>

<body>

<h1>{{ mymember.firstname }} {{ mymember.lastname }}</h1>
  
<p>Phone: {{ mymember.phone }}</p>
<p>Member since: {{ mymember.joined_date }}</p>

<p>Back to <a href="/members">Members</a></p>

</body>
</html>

مشاهده در ادیتور

نکته: «متغیر قالب» همان داده ارسال شده از ویو است.

قابل کلیک کردنِ لیست اعضا

در لیست اعضا، هر آیتم باید لینک جزئیات خودش را داشته باشد. لینک شامل شناسه عضو است.

<!DOCTYPE html>
<html>
<body>

<h1>Members</h1>
  
<ul>
  {% for x in mymembers %}
    <li><a href="details/{{ x.id }}">{{ x.firstname }} {{ x.lastname }}</a></li>
  {% endfor %}
</ul>

</body>
</html>

مشاهده در ادیتور

ساخت ویو جزئیات

یک ویو جدید بنویس. «ویو (View)» درخواست را می گیرد و داده صحیح را به قالب می فرستد.

from django.http import HttpResponse
from django.template import loader
from .models import Member

def members(request):
  mymembers = Member.objects.all().values()
  template = loader.get_template('all_members.html')
  context = {
    'mymembers': mymembers,
  }
  return HttpResponse(template.render(context, request))
  
def details(request, id):
  mymember = Member.objects.get(id=id)
  template = loader.get_template('details.html')
  context = {
    'mymember': mymember,
  }
  return HttpResponse(template.render(context, request))

مشاهده در ادیتور

نکته: اگر شناسه پیدا نشد، بعداً هندل خطا را اضافه کن.

افزودن مسیرها در urls.py

برای رسیدن به ویو، باید مسیر درست تعریف شود. «الگو مسیر (URL Pattern)» آدرس را به ویو وصل می کند.

from django.urls import path
from . import views

urlpatterns = [
  path('members/', views.members, name='members'),
  path('members/details/<int:id>', views.details, name='details'),
]

مشاهده در ادیتور

گام های اجرای سریع

  1. قالب details.html را بساز.
  2. لینک هر عضو را در لیست بگذار.
  3. ویو details را بنویس.
  4. مسیر /members/details/<id> را اضافه کن.
  5. سرور را اجرا کن و نتیجه را ببین.
python manage.py runserver

مشاهده در ادیتور

جمع بندی سریع

  • قالب جزئیات را با متغیرها بساز.
  • لیست اعضا را لینک دار کن.
  • ویو جزئیات را پیاده سازی کن.
  • مسیرها را دقیق تعریف کن.

برای مرور پیش نیاز، بخش آماده سازی قالب و ویو را ببین. سپس برای ساخت اسکلت تکرارپذیر، به قالب مادر برو.