gpt4 book ai didi

python - 使用 Django 将主键传递到下一页

转载 作者:行者123 更新时间:2023-11-29 23:49:02 26 4
gpt4 key购买 nike

所以我有以下文件:

View .py:

def home(request):
return render(request, 'home/index.html')

def add(request):
if request.method == 'POST': # If the form has been submitted...
# ContactForm was defined in the previous section
form1 = AddEventForm(request.POST) # A form bound to the POST data
#person = AddPersonForm(request.POST) # A form bound to the POST data
if form1.is_valid(): # All validation rules pass
form = form1.save()
request.session['event_data'] = request.POST
#request.session['event_data2'] = form
return HttpResponseRedirect('/add_person/')
#return HttpResponseRedirect(reverse('/add_person', kwargs={'PK':form.pk}))
else:
form1 = AddEventForm() # An unbound form
person = AddPersonForm() # A form bound to the POST data

return render(request, 'add/add.html', {
'form1': form1, 'person': person,
})


def add_person(request):

event_data = request.session.get('event_data')
if request.method == 'POST':
person = AddPersonForm(request.POST)
else:
person = AddPersonForm()

return render(request, 'add_person/add_person.html',{'event_data': event_data, 'person': person,})

模型.py:

class event(models.Model):
event_name = models.CharField(max_length=200)
date = models.DateField('Date',default=date.today)
event_id = models.AutoField(primary_key=True)
admin_username = models.CharField(max_length=50)

def __unicode__(self):
return ('%s %s %d') % (self.date, self.event_name, self.event_id)

class Person(models.Model):
eventID = models.ForeignKey(event)
first_name = models.CharField(max_length=50)
second_name = models.CharField(max_length=50)
email = models.EmailField(max_length=50)
phone = models.CharField(max_length=25)
company = models.CharField(max_length=200)
favourite = models.BooleanField(default=False)

def __unicode__(self):
return eventID

这个问题已经困扰我好几个小时了。我有一个初始页面,用户可以在其中输入有关事件的一些信息。如果检查通过,则保存表单并生成主键。然后,用户被重定向到另一个页面,在那里他们填写了一份关于他们在那里遇到的人的表格。问题是我找不到将主键传递到第二页(add_people)的方法。我需要主键,因为它是我的 Person 表中的外键,我需要用它来预填充 add_people 中的 eventID页。

我最初认为主键将在保存表单后的 request.POST 中,但事实并非如此。

最佳答案

使用表单输入作为参数查询表中的主键。获得 key 后,将其作为请求对象中的 session 变量传递。

关于python - 使用 Django 将主键传递到下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25754966/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com