اذهب إلى المحتوى
  • 1

مشكلة تعارض وسوم عند إستخدام AngularJS مع جانغو Django

Amer Abdallah

السؤال

Recommended Posts

  • 1

 بالنسبة لـ Angular 1.0 يجب استخدام $interpolateProvider مثلاً:

myModule.config(function($interpolateProvider) {
  $interpolateProvider.startSymbol('{[{');
  $interpolateProvider.endSymbol('}]}');
});

لكن يجب أن تدرك أن الخلط بين القوالب من جانب الخادم والعميل ليس أمراً جيداً، وفي حال أردت ذلك فيجب أن تقوم بالأمر بحذر. والأمور الرئيسية هنا هي: أولاً-قابلية الصيانة (لأنها صعبة القراءة. وثانياً الأمن حيث يمكن أن يؤدي double interpolation إلى كشف security vector جديد. وهذه المشاكل لن نستطيع التعامل معها سوى التحذير. مشكلة أخرى وهي إذا بدأت في استخدام توجيهات third-party التي تستخدم {{}} في نماذجها، فإن التهيئة الخاصة بك ستؤدي إلى تعطيلها. وهذه المشكلة يجب أن يتم حلها.
وكحل آخر فإنك إذا قمت بفصل أقسام الصفحة بشكل صحيح ، فيمكنك بسهولة استخدام angularjs tags في نطاق الوسم "raw".

#jinja2 في 
{% raw %}
    //angularjs هنا يمكنك كتابة سمات قالب 
{% endraw %}
#Django في قالب  
{% verbatim %}    
    //angularjs هنا يمكنك كتابة سمات قالب 
{% endverbatim %}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

لحل المشكلة يمكنك استخدام verbatim Django template tag كالتالي

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>

{% verbatim %}
<div ng-app="">
    <p>10 is {{ 5 + 5 }}</p>
</div>
{% endverbatim %}

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...