Django Forms 프레임 워크는 훌륭하고 다음과 같이 전체 양식을 렌더링합니다. 다음과 같이Django Forms 템플릿 디자인 클래스
<p><label for="id_username">Username:</label> <input id="id_username" type="text" name="username" maxlength="30" /> Required. 30 characters or fewer. Alphanumeric characters only (letters, digits and underscores).</p>
<p><label for="id_email">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_firstname">Firstname:</label> <input type="text" name="firstname" id="id_firstname" /></p>
<p><label for="id_lastname">Lastname:</label> <input type="text" name="lastname" id="id_lastname" /></p>
<p><label for="id_password1">Password:</label> <input type="password" name="password1" id="id_password1" /></p>
<p><label for="id_password2">Password confirmation:</label> <input type="password" name="password2" id="id_password2" /></p>
하지만 양식의 각 요소에 클래스를 추가 할 디자인을 위해서 : 등록 양식에 대한
{{ form.as_p }}
, 그것으로 위의 변환
<p><label for="id_email" class="field-title">Email:</label> <input type="text" name="email" id="id_email" /></p>
<p><label for="id_firstname" class="field-title">Firstname:</label> <input type="text" name="firstname" id="id_firstname" /></p>
<p><label for="id_lastname" class="field-title">Lastname:</label> <input type="text" name="lastname" id="id_lastname" /></p>
<p><label for="id_password1" class="field-title">Password:</label> <input type="password" name="password1" id="id_password1" /></p>
<p><label for="id_password2" class="field-title">Password confirmation:</label> <input type="password" name="password2" id="id_password2" /></p>
이러한 클래스를 개별 양식 요소에 추가하는 표준 방법은 무엇입니까? 이러한 클래스를 추가하려면 템플릿의 폼을 수동으로 확장해야합니다 (이 경우 폼의 변경 내용도 템플릿에 해당 변경 사항을 적용해야합니다). 이는 특히 오류가 발생하면 추가해야하므로이 필드 각각에 대한 오류도 표시해야하므로 너무 힘들어집니다.
또는보기 클래스에서 일부 클래스를 제공하는 것이 좋지만보기가 조금 엉망입니다.
많은 CSS가 없으므로 양식 클래스에서 지정된 태그에 대해 이러한 클래스를 정의 할 수 있어야합니다. 그렇다면이 방법이 최선의 방법입니다.
디자이너 클래스를 양식 요소에 어떻게 추가합니까? 그들을 추가하는 가장 좋은 방법은 무엇이라고 생각합니까?
두 번째는 다음과 같습니다.주의 사항 : (1) 모든 라벨을 단일 스타일과 연관시키는 것이 목표 인 경우. 그런 다음 CSS를 조정하여 간단히 조정할 수 있습니다. 예., 양식 라벨 {배경색 : 적색; } (2) 그러나 다른 라벨에 다른 스타일을 사용하려는 경우 실제 라벨에 클래스 태그가 없기 때문에이 방법은 작동하지 않습니다. – joej