0
用下面的渲染器...覆蓋Django的渲染方法
from django.shortcuts import render
...
return render(request, 'template.html', {'context':context,})
是否有可能重寫Render CLASSE的方法,讓我能在某些情況下解釋模板標籤自己舉例來說,如果我找到包括標籤一定的格式,如...
{% url 'website' page.slug %}
我可以指出它...
/theme/theme-1/page.html
或
/theme/theme-2/page.html
取決於外掛設置。
其他人將負責創建模板,並會直接使用{%url%}我只希望能夠在一個程序中加載多個網站,並在需要時攔截路由。這將是一個主題庫,但代碼必須正常運行後才能添加到實際站點。作爲@alasdair指出的 –
,而不是改變渲染的默認行爲,你應該嘗試自定義模板標籤。看看這個SO帖子的例子https://stackoverflow.com/questions/6451304/django-simple-custom-template-tag-example – cutteeth
你可以用你自己的標籤替換Django的url標籤,使用['BUILTINS' ](https://docs.djangoproject.com/en/1.11/topics/templates/#module-django.template.backends.django)選項。但我認爲這不是一個好主意。你也可以看看['TemplateResponse'](https://docs.djangoproject.com/en/1.11/ref/template-response/#templateresponse-objects)而不是'render',因爲它有額外的鉤子。 – Alasdair