Django 如何重复显示其他表单/字段
我们是Django/Python新手。我们正在尝试制作一个表单,允许用户在提交之前添加他们的行程。例如,每当我们按下“+”按钮时,它将显示一个额外的POIFormset models.pyDjango 如何重复显示其他表单/字段,django,Django,我们是Django/Python新手。我们正在尝试制作一个表单,允许用户在提交之前添加他们的行程。例如,每当我们按下“+”按钮时,它将显示一个额外的POIFormset models.py class PointOfInterest(models.Model): TYPES = ( ('Food','Food'), ('Sports', 'Sports'), ('Events', 'Events'), ('Accom
class PointOfInterest(models.Model):
TYPES = (
('Food','Food'),
('Sports', 'Sports'),
('Events', 'Events'),
('Accommodation','Accommodation'),
('Sight Seeing', 'Sight Seeing'),
('Shopping', 'Shopping'),
)
name = models.CharField(max_length=100, null=True) #structued with google authentication
poitype = models.CharField(max_length=100, null=True, choices=TYPES)
timespent = models.PositiveIntegerField(null=True)
def __str__(self):
return self.name
class Post(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
# can use auto_now_add=True for current timep posted
date_posted = models.DateTimeField(default=timezone.now)
# if user is deleted, the post deleted as well, one-way street, not other way around
author = models.ForeignKey(User, on_delete=models.CASCADE)
travel_date_start = models.DateField(default=timezone.now, null=True)
travel_date_end = models.DateField(default=timezone.now, null=True)
poi = models.ManyToManyField(PointOfInterest)
# poi = models.ForeignKey(POI, null=True, on_delete = models.SET_NULL)
views.py
def intinary(request):
#formset
PostForm = modelformset_factory(Post, fields = ('title', 'travel_date_start','travel_date_end','content', 'author'))
POIFormset = modelformset_factory(PointOfInterest, fields =('name','poitype','timespent'))
#base code
if request.method == 'POST':
post_form = PostForm(request.POST)
poi_form = POIFormset(request.POST)
if post_form.is_valid() and poi_form.is_valid():
post_form.save()
poi_form.save()
return redirect('blog-home')
else:
post_form = PostForm(queryset=PointOfInterest.objects.none())
poi_form = POIFormset(queryset=PointOfInterest.objects.none())
#base code
context = {
'post_form': post_form,
'poi_form': poi_form,
}
return render(request, 'blog/frontend.html', context)
谢谢大家您当前的代码是做什么的,它与预期的输出有什么不同?