Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何重复显示其他表单/字段_Django - Fatal编程技术网

Django 如何重复显示其他表单/字段

Django 如何重复显示其他表单/字段,django,Django,我们是Django/Python新手。我们正在尝试制作一个表单,允许用户在提交之前添加他们的行程。例如,每当我们按下“+”按钮时,它将显示一个额外的POIFormset models.py class PointOfInterest(models.Model): TYPES = ( ('Food','Food'), ('Sports', 'Sports'), ('Events', 'Events'), ('Accom

我们是Django/Python新手。我们正在尝试制作一个表单,允许用户在提交之前添加他们的行程。例如,每当我们按下“+”按钮时,它将显示一个额外的POIFormset

models.py

    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)

谢谢大家

您当前的代码是做什么的,它与预期的输出有什么不同?