حساب کاربری
​
تغیر مسیر یافته از - Jinja
زمان تقریبی مطالعه: 1 دقیقه
لینک کوتاه

موتور نشانه‌گذاری جینجا

جینجا (به انگلیسی: Jinja)(برگرفته از نام معبد شینتویی) یک موتور نشانه‌گذاری برای زبان برنامه‌نویسی پایتون است که تحت پروانه بی‌اس‌دی توسط برنامه‌نویس اتریشی آرمین روناچر ساخته شده‌است. از آنجا که که این موتور مبتنی بر متن می‌باشد در نتیجه می‌تواند در زبان‌های نشانه‌گذاری همانند اچ‌تی‌ام‌ال در برنامه‌ها مورد استفاده قرار بگیرد.

موتور جینجا این امکان را می‌دهد تا بتوان برچسب‌ها، فیلترها و … را شخصی‌سازی کرد و با توجه به اینکه در موتور نشانه‌گذاری جنگو امکان فراخوانی توابع وجود ندارد، جینجا این موضوع را میسر می‌سازد.

از جینجا به عنوان موتور نشانه‌گذاری پیشفرض در فلسک استفاده می‌شود.

فهرست

  • ۱ ویژگی‌ها
  • ۲ مثال
  • ۳ جستارهای وابسته
  • ۴ منابع
  • ۵ پیوند به بیرون

ویژگی‌ها

برخی از ویژگی‌های جینجا عبارت‌اند از:

  • اجرای در محیط شنی (به منظور استفاده برای قطعه کدهایی که احتمالاً مخربند)
  • بررسی و پاکسازی کدهای اچ‌تی‌ام‌ال قدرتمند به صورت خودکار به منظور جلوگیری از حملات تزریق اسکریپت (XSS)
  • ارث‌بری از الگوها
  • اشکال‌زدایی آسان، به همراه اشاره به خطی که در آن خطا رخ داده است.
  • امکان تنظیم Syntax

مثال

در زیر یک نمونه کوچک از فایل جینجا قابل مشاهده است.

<!DOCTYPE html>
<html>
     <head>
          <title>{{variable|escape}}</title>
     </head>
     <body>
     {%- for item in item_list %}
          {{item}}{% if not loop.last %},{% endif %}
     {%- endfor %}
     </body>
</html>

و کد قالب‌بندی:

from jinja2 import Template
with open('example.html.jinja') as f:
      tmpl = Template(f.read())
print tmpl.render(
      variable = 'Value with <unsafe> data',
      item_list = [1, 2, 3, 4, 5, 6]
)

که در نهایت خروجی اچ‌تی‌ام‌ال زیر تولید می‌شود:

<!DOCTYPE html>
<html>
    <head>
        <title>Value with &lt;unsafe&gt; data</title>
    </head>
    <body>
        1,
        2,
        3,
        4,
        5,
        6
    </body>
</html>

جستارهای وابسته

  • فلسک
  • توئیگ
  • آرمین روناچر

منابع

  1. ↑ DuPlain, Ron (2013-01-01). Instant Flask Web Development (به انگلیسی). Packt Publishing Ltd.
  2. ↑ «Welcome to Jinja2 — Jinja2 Documentation (2.8-dev)». jinja.pocoo.org. دریافت‌شده در ۲۰۱۶-۱۱-۱۲.
  3. ↑ «Template Designer Documentation — Jinja2 Documentation (2.8-dev)». jinja.pocoo.org. بایگانی‌شده از اصلی در ۱۳ نوامبر ۲۰۱۶. دریافت‌شده در ۲۰۱۶-۱۱-۱۲.

    پیوند به بیرون

    • وب‌گاه جینجا
    • جینجا در پیپ (مدیر بسته پایتون)
    • جینجا در گیت‌هاب
    آخرین نظرات
    کلیه حقوق این تارنما متعلق به فرا دانشنامه ویکی بین است.