2015-01-02 3 views
2

연락처 양식을 디자인 중이며 일부 경우 (항상 아님) URL의 데이터로 제목 및 내용 필드를 미리 채우고 싶습니다. 이 같은 내보기 모양이 왜Django 템플릿에서 동적 기본 텍스트 영역 데이터를 설정하는 방법은 무엇입니까?

:

def contact(request): 
    if request.method == 'POST': 
     contact_form = ContactForm(request.POST) 
     # Some more logic here 

    else: # GET request 
     contact_form = ContactForm() 
     subject = request.GET.get('subject') or "" 
     content = request.GET.get('content') or "" 

    return render(request, 'contact.html', locals()) 

내가 나 HTML을 삽입 할 수 addattrs 사용자 정의 필터를 생성은 HTML 요소의 속성.

그래서, (고전 텍스트 입력) 주제를 미리 작성, 나는 이런 식으로 그것을 할, 그것은 작동합니다

{% with "value="|add:subject as attrs %} 
    {{ contact_form.subject|addattrs:attrs }} 
{% endwith %} 

을 지금, 나는 텍스트 영역과 같은 일을하고 싶습니다 .

<textarea>default texte here</textarea> 

내가 어떻게 할 수있는 : 그러나 텍스트 영역의 기본 값은 HTML value 속성을 작성하여 설정되지 않은, 그들은 그런 식으로 작성거야? 감사합니다.

+1

관련 : https://github.com/kmike/django-widget-tweaks/issues/7 형태로 생성자의 initial 인수를 사용 – fedorqui

답변

2

HTML로 조작 할 필요가 없습니다.

subject = request.GET.get('subject', '') 
content = request.GET.get('content', '') 
contact_form = ContactForm(initial={'subject': subject, 'content': content}) 
관련 문제