فیلترهای مخصوص URL و JSON


URL & JSON Filters در جنگو برای پردازش داده‌هایی به کار می‌روند که نیاز به استفاده در لینک‌ها، اسکریپت‌ها یا تبادل داده با مرورگر دارند. این فیلترها به ما کمک می‌کنند متن‌ها یا مقادیر را به شکلی امن و استاندارد در آدرس‌ها یا کدهای جاواسکریپت قرار دهیم. برای مثال، با urlencode می‌توانیم متن را به فرمت امن URL تبدیل کنیم (مثل تبدیل فاصله به + یا %20)، و با urlize یا urlizetrunc لینک‌های موجود در متن را به تگ‌های <a> تبدیل کرده و آن‌ها را قابل کلیک کنیم. همچنین iriencode برای کدگذاری در URIهای بین‌المللی استفاده می‌شود. در بخش JSON هم فیلتر json_script داده‌ها را به صورت امن داخل یک تگ <script> قرار می‌دهد تا بدون مشکل امنیتی (مثل XSS) در جاواسکریپت استفاده شوند. این فیلترها مخصوصاً در پروژه‌هایی که تعامل زیادی با مرورگر، APIها یا داده‌های داینامیک دارند بسیار حیاتی هستند.

{{ "a b c"|urlencode }}                        ┈┈┈⮞ a%20b%20c                                         <!-- encodes for query strings (form data) -->
{{ "visit https://arazsx.ir"|urlize }}         ┈┈┈⮞ <a href="https://arazsx.ir">https://arazsx.ir</a> <!-- Returns any URLs in a string as HTML link -->
{{ "visit https://arazsx.ir"|urlizetrunc:15 }} ┈┈┈⮞ <a href="https://arazsx.ir">https://arazsx…</a>   <!-- Returns any URLs in a string as HTML links, but shortens the links into the specified number of characters. -->
{{ mydata|json_script:"my-data" }}             ┈┈┈⮞ <script id="my-data" type="application/json">[{"brand": "Ford", "model": "Mustang", "year": 1964}]</script> <!-- Returns an object into a JSON object surrounded by <script></script> tags. -->