0

私のコードを編集しました:モデル管理者のカスタムフィールドセットで:

{%load app_extras %}

{% if field.field.name == 'mobile' %}
    <a target="hiddenIframe" href="http://url_to_call.php?exten={{request.user.employee_profile.extension}}&phone={{ field.field.value }}">Click-to-call</a>
{% my_mobile mobile=field.field.value as mob %}
    {% endif %}

    {% if field.field.name == 'sms_message' %}{{ mob }}
        <a target="hiddenIframe" href="http://url_for_send_sms.php?sms_message={{ field.field.value }}&phone={{ mob }}">Click-to-send-sms</a>
    {% endif %}

ここでは、モデル管理フォームの携帯電話番号と sms_message フィールドに同時にアクセスしようとしています。

カスタムタグを使用する必要があると考えたので、次のようにモバイルの値を割り当てて返す関数を含む app_extras.py を使用して、templatetags モジュールを作成しました。

@register.assignment_tag
def my_mobile(*args, **kwargs):
    m_mobile = int(kwargs['mobile'])
    return {'m_mobile': m_mobile }

上記のテンプレート fiedset.html の変更点に注意してください: これは次のように Long 値を返します: {'m_mobile': 1234534519L}

http://url_for_send_sms.php/?sms_message=fgdfg&phone= {%27m_mobile%27:%1234534519L}

携帯電話番号にアクセスするにはどうすればよいですか? カスタムタグは正しいですか?

4

2 に答える 2

0

タグの出力を次のようにフォーマットしました。

@register.assignment_tag
def my_mobile(*args, **kwargs):
    m_mobile = ("%d" %int(kwargs['mobile']))
    return {'m_mobile': m_mobile }

テンプレート fieldset.html で、コードを次のように変更しました。

{% if field.field.name == 'sms_message' %}
        <a target="hiddenIframe" href="http://url_for_send_sms.php?sms_message={{ field.field.value }}&phone=={{ mob.m_mobile }}">Click-to-send-sms</a>
    {% endif %}

重要: 携帯電話番号と sms_message の両方が、django modeladmin のフィールドセットの同じ行にあります (私の場合)。したがって、上記のコードはループ {% for line in fieldset %} ループに属します

于 2014-11-29T06:13:43.017 に答える
-1

試す

{% for ln in fieldset %}
    {% for fld in ln %}
        {% if f.field.name == 'mobile' %}
            {{ f.field.value }}
        {% endif %}
    {% endfor %}
{% endfor %}

たぶんこれは最善の解決策ではない...しかし、それは解決策です:)

于 2014-11-28T10:28:59.583 に答える