2016-12-16 2 views
1
를 사용하여 장고에 generic.edit.CreateView 양식 스타일링

나는 내 장고 응용 프로그램에서 다음보기가 있습니다는 부트 스트랩

이보기는 다음과 같은 템플릿에 해당
class TodoCreateView(generic.edit.CreateView): 
    model = Todo 
    fields = ['todo_name','todo_description'] 
    template_name = 'list/todo-create.html' 
    success_url = reverse_lazy('list:index') 
    def form_valid(self, form): 
     form.instance.owner = self.request.user 
     form.instance.created_date = datetime.now() 
     return super(EntryCreateView, self).form_valid(form) 

: 분명히

{% extends 'list/base.html' %} 

{# Load the tag library #} 
{% load bootstrap3 %} 

{# Load CSS and JavaScript #} 
{% bootstrap_css %} 


{# Display django.contrib.messages as Bootstrap alerts #} 
{% bootstrap_messages %} 

{% block content %} 

<h1>Todo:</h1> 
<div> 
<form action="" method="post">{% csrf_token %} 
    {{ form.as_p }} 
    <input type="submit" value="Save" /> 
</form> 

{% endblock %} 

, 장고 보기에 표시된 필드를 기반으로 양식을 작성하고 출력합니다. 그러나 CSS를 사용하여 양식 필드의 스타일을 지정할 기회가없는 것으로 보입니다. 어떻게해야합니까?

답변

1

뷰의 get_form_class 기능을 제공하고이를 부트 스트랩 스타일링을 제공하는 기본 클래스가있는 modelform_factory로 설정해야합니다. 간단한 예제는 Applying bootstrap styles to django forms을 참조하십시오.

class TodoCreateView(generic.edit.CreateView): 
    def get_form_class(self): 
      return modelform_factory(self.model, form=MyBaseForm, fields=self.fields) 

그렇지 않으면, 양식을 직접 만들 수는 훨씬 쉽고 다음은 form_class

class TodoForm(MyBaseForm): 
    pass 

form_class = TodoForm 
+0

에 내가 만든 장고 양식 스타일을 한 후 수 있음을 설정? – MadPhysicist

+1

@MadPhysicist - 링크 된 질문보기 – Sayse

관련 문제