私はDjango、Python、そして一般的なWebプログラミングについては新しいです。私は多分愚かな問題を抱えていますが、私はここで1週間前から修正しようとしています。Djangoプロジェクトに2番目のフォームを追加するにはどうしたらいいですか?
私は食べ物に関するDjangoプロジェクトを持っています。私は2つのフォームが必要です。最初はユーザー登録(membresiaまたはusuario)です。これはうまくいきます。もう1つはレストランを登録することです。
私のDjangoのバージョンは1.10
models.py
from django.db import models
from django.utils import timezone
# Create your models here.
class Membresia(models.Model):
nombre = models.CharField(max_length=100)
cedula = models.CharField(max_length=100)
celular = models.CharField(max_length=100)
email = models.CharField(max_length=100)
ciudad = models.CharField(max_length=100)
direccion = models.CharField(max_length=100)
creado_en = models.DateTimeField(
default=timezone.now)
class Restaurante(models.Model):
nombre = models.CharField(max_length=100)
nombre_responsable = models.CharField(max_length=100)
direccion = models.CharField(max_length=100)
celular = models.CharField(max_length=100)
ciudad = models.CharField(max_length=100)
email = models.CharField(max_length=100)
creado_en = models.DateTimeField(
default=timezone.now)
forms.py
views.py
from django.shortcuts import render,render_to_response
from .forms import membresiaform, restauranteform
from django.http import HttpResponseRedirect
from django.template import RequestContext
from django.views.decorators.csrf import csrf_protect
from django.utils import timezone
# Create your views here.
def registrar_usuario_web(request):
if "submit_us" in request.POST:
form = membresiaform(request.POST)
if form.is_valid():
form.creado_en = timezone.now()
form.save()
return HttpResponseRedirect('/')
else:
form = membresiaform()
return render(request,'web/registrarusuario.html', {'form': form})
def registrar_restaurante_Web(request):
if "submit_res" in request.POST:
form = restauranteform(request.POST)
if form.is_valid():
form.creado_en = timezone.now()
form.save
return HttpResponseRedirect('/')
else:
form = restauranteform()
return render(request,'web/registrarrestaurante.html',{'form':form})
registrarrestaurante.html
です{% block content %}
<form action="/restaurante/registrar/" method="POST">
<div class="post">
<h1>Registrar restaurante</h1>
{% csrf_token %}
{{ form.as_p }}
{% endblock %}
<div class="form-group">
<input type="submit" name="submit_res" class="btn btn-submit" value="Enviar">
</div>
</form>
私のレストランデータベースにデータを保存できません。私はエラーを見なかったし、フォームは有効です。シェルからのデータを保存しても問題はありません。私はここで質問を検索しましたが、誰もが同じような見解で2つのフォームを持つことに問題があるように見えますが、これは私の問題ではない、誰かが私を助けることができます、私はとても感謝します。
私は恥じています。その馬鹿げたエラーです、ありがとう、私は同時に悲しくて幸せに感じます。実際に私はこの例でしか練習していませんが、私はログインをすることを考えていませんでしたが、とにかく今は私がそれをやる方法を知っているので、とにかく感謝します。 – M121
助けてくれるとうれしいです。誰もが最初にこのようなミスを犯す。 – e4c5