【发布时间】:2015-11-08 16:49:25
【问题描述】:
我有一个显示位置列表的模板:
list_of_locations.html
{% for loc in loc_list %}
<p>
Total desks: {{loc.total_desks}}
</p>
<p>
Free desks: {{loc.free_desks}}
</p>
<p>
<a href="{% url 'cowork:offices:add' %}" class="btn btn-primary">Rent desk</a>
</p>
我还有另一个模板显示添加办公室的表格:
office_add.html:
<form class="form" method="POST" action="{% url 'cowork:offices:add' %}">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Add" class="btn btn-primary" />
</form>
型号:
class Location(models.Model):
city = models.CharField(max_length=200)
total_desks = models.IntegerField(verbose_name='Total desks')
reserved_desks = models.IntegerField(verbose_name='Reserved desks')
class Desk(models.Model):
location = models.OneToOneField(Location, related_name='desks')
rent_start_date = models.DateTimeField(null=True)
rent_end_date = models.DateTimeField(null=True)Forms:
class OfficeCreationForm(forms.ModelForm):
class Meta:
model = Desk
fields = ('location', 'rent_start_date', 'rent_end_date')
观看次数:
def search(request):
loc_list = Location.objects.all()
return render(request, 'list_of_locations.html', 'loc_list': loc_list)
class OfficeAddView(UserMixin, views.LoginRequiredMixin, generic.FormView):
form_class = forms.OfficeCreationForm
template_name = "cowork/offices/company/office_add.html"
success_url = reverse_lazy('cowork:offices:list')
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.company = self.user.companies.first()
self.object.owner = self.request.user
self.object.save()
return HttpResponseRedirect(self.get_success_url())
现在无论用户在list_of_locations.html 中选择哪个对象,都会要求用户在office_add.html 中选择桌子。我想更改它,以便在单击list_of_locations.html 中的特定对象时,用户被重定向到office_add.html,但已经选择了desk.location,当他/她保存表单时,desk.location 将是一个用户点击了list_of_locations.html。有人可以帮忙吗?
【问题讨论】:
标签: django django-templates django-views