Django中的内联自定义表单
我正在尝试创建一个系统,将应用程序(在Django中的内联自定义表单,django,forms,views,inline,models,Django,Forms,Views,Inline,Models,我正在尝试创建一个系统,将应用程序(在models.py中名为candidatera)添加到数据库中,并且在每个应用程序中,用户可以添加任意数量的体验(在models.py中名为candidateraexp) 我已经有forms.py和views.py在为应用程序工作,但我不知道如何才能让用户插入体验。我也不知道如何在模板中创建一个“PLUS”按钮来添加体验表单,因为我不是Java脚本专家 因此,我有以下几点: models.py class Candidatura(models.Model):
models.py
中名为candidatera
)添加到数据库中,并且在每个应用程序中,用户可以添加任意数量的体验(在models.py
中名为candidateraexp
)
我已经有forms.py
和views.py
在为应用程序工作,但我不知道如何才能让用户插入体验。我也不知道如何在模板中创建一个“PLUS”按钮来添加体验表单,因为我不是Java脚本专家
因此,我有以下几点:
models.py
class Candidatura(models.Model):
## IDENTIFICACAO E CONTACTO
nome=models.CharField(max_length=200, verbose_name='Nome Completo')
nacionalidade=models.CharField(max_length=200, verbose_name='Nacionalidade')
data_nascimento=models.DateField(verbose_name='Data de Nascimento')
residencia=models.CharField(max_length=200, verbose_name='Residência')
localidade=models.CharField(max_length=200, verbose_name='Localidade')
cod_postal=models.CharField(max_length=10, verbose_name='Código Postal')
email=models.EmailField(max_length=254, verbose_name='Email')
telefone=models.IntegerField(verbose_name='Telefone')
## HABILITACAO E CONHECIMENTOS
nivel_academico=models.CharField(max_length=200, verbose_name='Nível Académico')
ano_conclusao=models.CharField(max_length=4, verbose_name='Ano de Conclusão')
curso=models.CharField(max_length=200, verbose_name='Curso')
instituicao=models.CharField(max_length=200, verbose_name='Instituição')
outras_hab=models.CharField(max_length=255, null=True, blank=True, verbose_name='Outras Habilitações')
conhec_tec=models.CharField(max_length=255, null=True, blank=True, verbose_name='Conhecimentos Técnicos')
## DOCUMENTOS ANEXOS
cv=models.FileField(upload_to=None, max_length=100, verbose_name='Curriculum Vitae', null=True, blank=True)
data_criado=models.DateTimeField(default=timezone.now, editable=False, verbose_name='Data de criação')
def __unicode__(self):
return self.nome
## EXPERIENCIA PROFISSIONAL
class CandidaturaExp(models.Model):
candidatura = models.ForeignKey(Candidatura)
experiencia=models.BooleanField(verbose_name='Experiência Profissional')
ano_admissao=models.CharField(max_length=4, null=True, blank=True, verbose_name='Ano de Admissão')
ano_saida=models.CharField(max_length=4,null=True, blank=True, verbose_name='Ano de Saída')
empresa=models.CharField(null=True, blank=True, max_length=200, verbose_name='Empresa')
funcao=models.CharField(null=True, blank=True, max_length=255, verbose_name='Função Desempenhada')
def __unicode__(self):
return self.candidatura
class CandidaturaForm(ModelForm):
class Meta:
model = Candidatura
fields = '__all__'
class CandidaturaExpForm(ModelForm):
class Meta:
model = CandidaturaExp
fields = '__all__'
forms.py
class NovaCandidatura(forms.ModelForm):
class Meta:
model = Candidatura
fields = ('__all__')
class NovaCandidaturaExp(forms.ModelForm):
class Meta:
model = CandidaturaExp
fields = '__all__'
views.py
def inicio(request):
return render_to_response('indexDB.html', locals(), context_instance=RequestContext(request))
@login_required
def listing(request):
table = CandidaturaTable(Candidatura.objects.all())
return render(request, "listDB.html", {'table': table})
@login_required
def newform(request, template_name="NovaCandidatura.html"):
if request.method == 'POST':
form = NovaCandidatura(request.POST, request.FILES)
if form.is_valid():
form.save()
url = urlresolvers.reverse('change_success')
return HttpResponseRedirect(url)
else:
form = NovaCandidatura()
page_title = ('Update user data')
return render_to_response(template_name, locals(),
context_instance=RequestContext(request))
我想要的是“添加另一个XX”的管理表单的等效项。我似乎不能自己做,我想使用一个自定义模板。不是预定义的。