Django——08.with文、urlラベル、解析特殊文字の検索verbatim


withタグ:
  • はテンプレートにおいて変数を定義するためにwith文で実施されてもよい.
  • with文には2つの使用形態があり、第一はwith xx=xxxの形式であり、第二はwith xxx as xxxの形式である.
  • で定義された変数はwith文ブロックでしか使用できません.この変数はwith文ブロックの外では使用できません.
  •     {
         % with zs=persons.0%}
            <p>{
         {
          zs }}</p>
            <p>{
         {
          zs }}</p>
        {
         % endwith %}
                 with<p>{
         {
          zs }}</p>
    
        {
         % with persons.0 as zs %}
            <p>{
         {
          zs }}</p>
        {
         % endwith %}
    
    urlラベル:urlタグ:モダリティでは、urlのように、あるaタグにhrefの属性を定義する必要がある場合が多い.もちろんハードコードでこれを直接urlに書いて死んでもいいです.しかし、これは今後のプロジェクトのメンテナンスにとっていいことではないかもしれません.したがって、django中のreverseと同様に、この反転方式を使用して実現することを提案する.
    <a href="{% url 'book:list' %}">      </a>
    
    urlが反転するときに伝達パラメータが必要であれば、後で伝達することができる.ただし、パラメータは位置パラメータとキーワードパラメータに分けられます.位置パラメータとキーワードパラメータは同時に使用できません.
    # path  
    path('detail//',views.book_detail,name='detail')
    
    # url  ,      
    <a href="{% url 'book:detail' 1 %}">      </a>
    
    # url  ,       
    <a href="{% url 'book:detail' book_id=1 %}">      </a>
    
    urlタグを使用して反転するときにクエリー文字列のパラメータを伝達するには、手動で後に追加する必要があります.
    <a href="{% url 'book:detail' book_id=1 %}?page=1">      </a>
    
    複数のパラメータを渡す必要がある場合は、スペースで区切られます.
    <a href="{% url 'book:detail' book_id=1 page=2 %}">      </a>
    
    verbatimラベルノート:verbatimタグ:デフォルトはDTLテンプレートでこれらの特殊文字を解析します.{%および%}、および{ { など.あるコードのセグメントでDTLの解析エンジンを使いたくないなら.このコードをverbatimタグに入れてもいいです.サンプルコードの下で:
    {
         % verbatim %}
    {
         {
         if dying}}Still alive.{
         {
         /if}}
    {
         % endverbatim %}