كيف أضع رابط / url ويب-الصفحة الرئيسية للموقع في جانغو?

StackOverflow https://stackoverflow.com/questions/226528

  •  03-07-2019
  •  | 
  •  

سؤال

في جانغو قوالب, هل هناك متغير في سياق (على سبيل المثال {{ BASE\_URL }}, {{ ROOT\_URL }}, أو {{ MEDIA\_URL }} يمكن للمرء أن استخدام رابط home عنوان المشروع ؟

أولا-هاء.إذا جانغو يعمل في جذر مشروع المتغير (دعنا نسميها R) {{ R }} في قالب سيكون /.إذا كان الجذر url هو مجلد فرعي http://host/X/ المتغير {{ R }} سيكون /X/ (أو http://host/X/).

يبدو مؤلم بسيطة, ولكن أنا لا يمكن العثور على إجابة.:) شكرا لك!

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

المحلول

هل يمكن أن تعطي URL التكوين التي كنت تستخدم للتعامل مع الصفحة الرئيسية اسم واستخدام ذلك:

urls.py:

from django.conf.urls.defaults import *

urlpatterns = patterns('myproject.views',
    url(r'^$', 'index', name='index'),
)

قوالب:

<a href="{% url index %}">...

تحديث: إصدارات أحدث من جانغو تتطلب علامات الاقتباس حول اسم طريقة العرض:

<a href="{% url 'index' %}">...

هذه المذكرة في جانغو الكتاب يحتوي على بعض النصائح حول نشر التطبيقات الخاصة بك إلى دليل فرعي:

http://www.djangobook.com/en/1.0/chapter20/#cn43

نصائح أخرى

وأنا دائما استخدام شيء من هذا القبيل <a href="/"> (على افتراض منزلك هو في الجذر، وبطبيعة الحال). يبدو لي أن أذكر تبحث هذا الأمر مرة واحدة، وتعذر العثور على متغير جانغو لهذا المسار. على أية حال، بدا / من السهل جدا، على أية حال.

في المشرف، انتقل إلى "المواقع" وتعيين المجال.

وممر context_instance=RequestContext(request) إلى القوالب في المسألة.

والآن استخدام {{ SITE_URL }} في أي من تلك القوالب وكنت الذهبي.

الفصل 10 من كتاب بفك ديه معلومات أكثر من التي ستحتاج إليها regading أن قليلا سياق المعالج.

(r'^$', 'django.views.generic.simple.redirect_to', {'url': '/home/'}),

ويعمل بشكل جيد:)

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