سؤال

أحاول الحصول على protovis يعمل في موقع Django الخاص بي. ها هو رمز العينة الخاص بي:

<html>
    <head>    
    <script type="text/javascript" src="protovis-r3.2.js"></script>
    </head>
    <body>
    <script type="text/javascript+protovis">
        new pv.Panel().width(150).height(150).anchor("center")
            .add(pv.Label)
            .text("Hello, world!")
        .root.render();
    </script>
    {{ object.name }}
    </body>
</html>

عندما أفتح هذا الملف مباشرة في Firefox ، يتم عرض صورة "Hello World" protovis مع السلسلة "{{Object.name}}".

ولكن عند الوصول إلى قالب ملف .html من خادم Django الخاص بي ، أرى فقط {{Object.name}} (مطبوع اسم الكائن).

لم أجد مشكلات مماثلة حتى الآن ، تقديم الطعام لاستخدام Protovis في Django. إذا كان أي شخص قد عمله أو يعرف ما أفعله خطأ ، فيرجى إخبارنا بذلك.

شكرًا،

هل كانت مفيدة؟

المحلول

لقد طلبت استخدام ملف JavaScript src="protovis-r3.2.js"

عندما تنظر إلى ملف HTML مباشرةً ، سيبحث متصفحك في نفس الدليل مثل ملف .html لملف يسمى protovis-r3.2.js.

ومع ذلك ، عندما تطلب من Django تقديم هذه الصفحة نفسها ، فإنها لا تتبع نفس البروتوكول. نرى هذه المقالة للمزيد من المعلومات.

للحصول عليه للعمل:

  • انقل ملف Protovis-R.32.js إلى دليل جديد: /path/to/my/django_site/static (أين/المسار/إلى/my/django_site هو المسار المطلق لتطبيق Django)

  • تكوين urls.py مع الخط:

(r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': '/path/to/my/django_site/static'}),

  • قم بتغيير سمة SRC لعلامة البرنامج النصي في رمز HTML الخاص بك إلى:

src="/static/protovis-r3.2.js"

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top