Я новичок в Django, Python и вообще в веб-программировании. У меня есть, может быть, глупая проблема, но я здесь пытаюсь исправить ее неделю назад.Как добавить вторую форму в проект Django?
У меня есть проект Django о еде, я хочу две формы: первая зарегистрирована пользователем (мембраной или usuario), это прекрасно работает. а другой регистрирует ресторан.
My Джанго версия 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
from django import forms
from .models import Membresia, Restaurante
class membresiaform(forms.ModelForm):
class Meta:
model = Membresia
fields = ('nombre', 'cedula','celular','email','ciudad','direccion')
widgets = {
'nombre': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Tu nombre'}),
'cedula': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Tu número cédula'}),
'celular': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Tu número celular'}),
'email': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Tu correo electrónico'}),
'ciudad': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Ciudad donde vives'}),
'direccion': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Tu dirección'}),
}
class restauranteform(forms.ModelForm):
class Meta:
model = Restaurante
fields = ('nombre','nombre_responsable','direccion','celular','ciudad','email')
widgets = {
'nombre': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Nombre del restaurante'}),
'nombre_responsable': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Nombre del representante '}),
'direccion': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Dirección del restaurante'}),
'celular' : forms.TextInput(attrs={'class': 'form-control','placeholder': 'El celular de contácto'}),
'ciudad': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Ciudad de ubicación restaurante'}),
'email': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Correo eléctronico'}),
}
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>
Я не могу сохранить данные в своей базе данных Ресторанов. Я не видел ошибок, и форма действительна. Если я не сохраню данные из Shell, никаких проблем. Я искал вопросы здесь, но похоже, что у каждой проблемы есть две формы с одинаковой точки зрения, но я думаю, что это не моя проблема, я помогаю кому-то, я буду так благодарен.
Мне стыдно, это так глупо ошибка, спасибо большое, я чувствую грусть и радость в то же время. Ну, на самом деле, я только практикуюсь с этим примером, я не думал, что я вхожу в систему, но спасибо, потому что теперь я знаю, как это сделать. – M121
рад помочь. Все делают такие ошибки с самого начала. – e4c5