জ্যাঙ্গো-ব্লিচ ব্লিচ এবং ব্যবহারকারী এইচটিএমএল sanitize একটি জ্যাঙ্গো অ্যাপ্লিকেশন.
ব্লিচ কোন HTML ইনপুট নেয় যে একটি পাইথন মডিউল, এবং HTML ট্যাগ, গুণাবলী এবং শৈলী শুধুমাত্র একটি অনুমোদিত উপসেট রয়েছে যে বৈধ, sanitized এইচটিএমএল ফেরৎ. জ্যাঙ্গো-ব্লিচ অত্যন্ত সহজ ব্লিচ ব্যবহার করে তোলে যে একটি জ্যাঙ্গো অ্যাপ্লিকেশন.
সেটআপ
1. পিপ মাধ্যমে জ্যাঙ্গো-ব্লিচ ইনস্টল করুন:
& Nbsp; পিপ জ্যাঙ্গো-ব্লিচ ইনস্টল
2. জ্যাঙ্গো-ব্লিচ আপনার INSTALLED_APPS যোগ করুন:
& Nbsp; INSTALLED_APPS = [
& Nbsp; # ...
& Nbsp; 'django_bleach',
& Nbsp; # ...
& Nbsp;]
অনুমতি ট্যাগ জন্য কিছু উপযুক্ত পদ্ধতি নির্বাচন করুন 3., গুণাবলী এবং শৈলী; এবং আচরণ অজানা ট্যাগ সম্মুখীন হয়. এই প্রত্যেকটি ঐচ্ছিক, এবং ব্লিচ ডিফল্ট ব্যবহার করে ডিফল্ট. ব্লিচ ডকুমেন্টেশন দেখুন:
& Nbsp; HTML ট্যাগ অনুমোদিত হয় যার #
& Nbsp; BLEACH_ALLOWED_TAGS = ['পি', 'খ', 'আমি', 'তোমার' 'ই.এম.', 'শক্তিশালী', 'একটি']
& Nbsp; এইচটিএমএল আরোপ করা অনুমতি দেওয়া হয়, যা #
& Nbsp; BLEACH_ALLOWED_ATTRIBUTES = ['আল্লাহ', 'শিরোনাম', 'শৈলী']
& Nbsp; CSS এর বৈশিষ্ট্য 'শৈলী' অনুমোদিত বৈশিষ্ট্যাবলী # কোন (অভিমানী
& Nbsp; # শৈলী) একটি অনুমোদিত বৈশিষ্ট্য
& Nbsp; BLEACH_ALLOWED_STYLES = [
& Nbsp; 'ফন্ট পরিবারের', 'ফন্ট-ওজন', 'টেক্সট প্রসাধন', 'ফন্ট-বৈকল্পিক']
& Nbsp; # স্ট্রিপ অজানা ট্যাগ যদি সত্য হয়, এইচটিএমএল যদি অক্ষর পলান সঙ্গে প্রতিস্থাপন
& Nbsp; # মিথ্যা
& Nbsp; BLEACH_STRIP_TAGS = সত্য
& Nbsp; # স্ট্রিপ মতামত, বা তাদের ছেড়ে.
& Nbsp; BLEACH_STRIP_COMMENTS = মিথ্যা
ব্লিচ ক্ষেত্রের জন্য ডিফল্ট উইজেট নির্বাচন করুন 4.. Django.forms.Textarea এই ডিফল্টরূপে, কিন্তু আপনি সম্ভবত একটি WYSIWYG এডিটর, বা অনুরূপ কিছু দিয়ে প্রতিস্থাপন করতে চান:
& Nbsp; # ধোলাই এইচটিএমএল ক্ষেত্রের জন্য CKEditorWidget ব্যবহার করুন
& Nbsp; BLEACH_DEFAULT_WIDGET = 'wysiwyg.widgets.WysiwygWidget'
আমি আমার প্রকল্পের মধ্যে জ্যাঙ্গো-CKEditor ব্যবহার, কিন্তু কি আপনি ব্যবহার আপনি আপ হয়.
ব্যবহারের
আপনার মডেল
জ্যাঙ্গো-ব্লিচ ধোলাই আউটপুট তৈরি করার তিনটি উপায় উপলব্ধ করা হয়. স্বয়ংক্রিয়ভাবে sanitized হয় ব্যবহারকারী-সম্পাদনাযোগ্য HTML সামগ্রী সহ সহজ উপায় BleachField মডেল ক্ষেত্র ব্যবহার করা হয়:
অ্যাপ্লিকেশন / models.py মধ্যে #
জ্যাঙ্গো আমদানি মডেল থেকে
django_bleach.models থেকে BleachField আমদানি
বর্গ পোস্ট (models.Model):
& Nbsp; শিরোনাম = models.CharField ()
& Nbsp; কন্টেন্ট = BleachField ()
& Nbsp; # ...
BleachField ব্লিচ আউটপুট কাস্টমাইজ করতে, নিম্নলিখিত আর্গুমেন্ট লাগে. তাদের ব্যবহারের জন্য ব্লিচ ডকুমেন্টেশন দেখুন:
- Allowed_tags
- Allowed_attributes
- Allowed_styles
- Strip_tags
- Strip_comments
ব্লিচ নির্দিষ্ট আর্গুমেন্ট ছাড়াও, BleachField মডেল ক্ষেত্র স্বাভাবিক ক্ষেত্র আরোপ করা সব স্বীকার করে. পিছনে দৃশ্য, এটা একটি পাঠ্য ক্ষেত্র, এবং textfields না ডিফল্ট হিসাবে একই আর্গুমেন্ট গ্রহণ করা হয়.
BleachField মডেল ক্ষেত্র কাজ সব কাজ করতে BleachField ফর্ম ক্ষেত্র ব্যবহার করে. এটা কোন sanitisation সুবিধা নিজেই প্রদান করে. এটি একটি বাগ বিবেচনা করা হয়, কিন্তু একটি পরিষ্কার সমাধান এখনো বাস্তবায়িত করা হয় নি. এই স্থাপন কোন পুল অনুরোধ কৃতজ্ঞচিত্তে প্রয়োগ করা হবে. BleachField মডেল ক্ষেত্র শুধুমাত্র BleachField ফর্ম ক্ষেত্রগুলি সঙ্গে ব্যবহার করা হয় হিসাবে হিসাবে দীর্ঘ, কোন সমস্যা থাকবে না. এই ক্ষেত্রে না হয়, তাহলে sanitized এইচটিএমএল নিশ্চিত করা যাবে না.
আপনার ফর্ম
একটি BleachField ফর্ম ক্ষেত্র প্রদান করা হয়. এই ক্ষেত্রটি ব্যবহারকারী থেকে এইচটিএমএল ইনপুট sanitises, এবং আপনার জ্যাঙ্গো আবেদন নিরাপদ, পরিষ্কার HTML প্রদর্শন করা হয়. কাজ সবচেয়ে সম্পন্ন করা হয় যেখানে.
আপনার টেমপ্লেটে
আপনি একটি টেমপ্লেট ছাপা করা প্রয়োজন যে কোথাও থেকে কন্টেন্ট একটি peice আছে, আপনি ব্লিচ ফিল্টার ব্যবহার করতে পারেন:
{% লোড% bleach_tags}
{{Some_unsafe_content | ব্লিচ}}
ফিল্টার কোন যুক্তি লাগে. . এটা আপনার অ্যাপ্লিকেশন সেটিংস সংজ্ঞায়িত ডিফল্ট সেটিংস ব্যবহার করে
আবশ্যক
- পাইথন
- জ্যাঙ্গো
পাওয়া মন্তব্যসমূহ না