Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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
Python 通过Django模板中的视图传递变量_Python_Django_View_Django Templates_Arguments - Fatal编程技术网

Python 通过Django模板中的视图传递变量

Python 通过Django模板中的视图传递变量,python,django,view,django-templates,arguments,Python,Django,View,Django Templates,Arguments,试图找出如何在Django模板系统中访问我的变量。My models.py: class SubCategory(models.Model): name = models.CharField(max_length=50, unique=True) category = models.ManyToManyField(Category) 我的看法是: from myapp.models import Category, SubCategory def create_in_catego

试图找出如何在Django模板系统中访问我的变量。My models.py:

class SubCategory(models.Model):
   name = models.CharField(max_length=50, unique=True)
   category = models.ManyToManyField(Category)
我的看法是:

from myapp.models import Category, SubCategory

def create_in_category(request, slug):
   category = get_object_or_404(Category, slug=slug)
   subcategory = SubCategory()

   ad = Ad.objects.create(category=category, subcategory=subcategory, user=request.user,
                       expires_on=datetime.datetime.now(), active=False)
   ad.save()
   return redirect('myapp_create_ad_edit', pk=ad.pk)
...

class AdCreationEditView(AdEditView):
   def get_queryset(self):
       qs = super(AdEditView, self).get_queryset()
       return qs.filter(active=False, user=self.request.user)

   def get_success_url(self):
       return reverse('classifieds_create_ad_preview',
                      kwargs=dict(pk=self.object.pk))

   def get_context_data(self, **kwargs):
       context = super(AdCreationEditView, self).get_context_data(**kwargs)
       context['create'] = True
       return context


我希望能够访问模板中的
{{subcategory}
,但导致错误:
'subcategory'是此函数的无效关键字参数
,因为我的视图中存在错误。如有任何建议,将不胜感激。谢谢

该错误不是来自您的模板,与您的问题无关
subcategory
是一个多个关系,您无法在对象实例化时定义这些关系,因为这种关系是通过链接表实现的-您需要先保存类别和子类别对象


关于如何将对象传递到模板的实际问题的答案在本教程中有完整的解答。

您在哪里使用模板?我看不到任何模板渲染在这里进行。但是,到底是什么在渲染该模板?您列出的函数只是重定向,它不呈现任何内容。这不是您呈现模板的视图。您正在重定向,而不是渲染。感谢您的回复。是的,我已经读了很多遍教程和Djangook。虽然我已经阅读了文档,但我并不完全理解如何将其应用到我的场景中,这就是为什么我希望有另一双眼睛。我尝试使用access
subcategory=get\u list\u或_404(subcategory)
,但仍然不确定如何正确定义视图中的元素。谢谢你的建议。我真的不知道怎么回答你。您有两个主要问题:第一,错误消息,它首先阻止您创建类别/子类别对象;第二,关于如何将内容传递给模板的困惑。您应该首先证明您已经修复了第一个模板,然后也许我们可以消除关于模板的任何剩余混淆。