2014-11-28 5 views
0

내 코드를 편집 : 모델 관리자의 사용자 정의 필드 셋에서 : 여기django에서 사용자 정의 django에서 2 개의 필드 값을 액세스하는 방법 modeladmin .../fieldset.html include?

{%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 필드에 액세스를 시도하고있다.

나는 사용자 정의 태그를 사용할 필요가 있다고 생각했다, 그래서 모바일의 값을 할당하고 다음과 같이 반환하는 기능을 containiging app_extras.py과 함께 templatetags 모듈을 만든 다음에

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

을 하이퍼 링크 URL을 브라우저에서 볼 때 보여줍니다 참고 변경 위의 템플릿 fiedset.html은 : {1234534519L 'm_mobile':} : 이것은 긴 값을 반환

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

어떻게 휴대 전화 번호에 액세스합니까? 내 맞춤 태그이 맞습니까?

답변

0

내가 나의 태그에 출력을 포맷

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

을 시도해보십시오에서

@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에서 필드 집합과 같은 줄에 있습니다. 위의 코드는 루프에 속해 있습니다. {fieldset의 행에 대한 %} 루프

-1

어쩌면이 최선의 해결책이 아니다 ...하지만이 솔루션 :)