Novato Django Pergunta: Ir louco com um formulário para a criação e atualização

StackOverflow https://stackoverflow.com/questions/611575

  •  03-07-2019
  •  | 
  •  

Pergunta

OK. Eu só me amarrado em um nó tentando fazer um formulário no Django que eu possa usar para tanto poderá inserir dados sobre um novo registro ou atualizar um já existente.

Alguém pode esboçar as coisas certas que eu deveria ter em meus formulários, visualizações e urls se tem esse modelo? :

class Person(models.Model) :
  name = models.CharField()
  age = models.IntegerField()

Em outra página Eu quero um link para um formulário que me permite criar uma nova instância de uma pessoa ou editar um já existente.

Coisas que eu estou ficando confuso por:

  • eu preciso duas linhas distintas no urls.py, um para link para o formulário em branco, não passar um id e um para link para o formulário quando eu faço passar a id?

  • Eu preciso de dois pontos de vista diferentes, um para receber o formulário antes de uma instância foi salva, e um quando existe a instância?

Eu estou certo que eu vi este feito com um link e uma função em views.py, mas eu não parecem ser capazes de acertar mais. O que não parece trabalho está tentando enviar o url com o ID

  /edit/id

e sem

  /edit/ 

para a mesma função de visualização com um argumento padrão para id

 def edit(request,id=0) :
    blah

Assim que é a direito maneira de fazer isso?

Saúde. phil

Foi útil?

Solução

Configurar seu urls.py para capturar a variável id se incluídas na url, em seguida, verificar se há nula em sua views.py

O seu urls.py poderia ser algo como isto:

(r'^edit/(?P<person_id>\w+)/$', 'mysite.myapp.views.edit_person'),

Então, em sua views.py:

def edit_person(person_id=None):
    if(person_id): #show populated form
    else: # show empty form
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top