私は本当にdjangoテンプレート言語が好きですが、テンプレートからビューへの文字列以上のものを渡す場合は手がかりがありません。したがって、どの現代的なツールを使用するかを把握したいと思います。Djangoテンプレートからビューへのオブジェクトの受け渡し
私はまだこのようなタスクに取り組むために何をお勧めしますか、それとも私がまだ発見していないジャンゴの方法はありますか?
編集:私はオブジェクトのクエリについて知っています。私が探しているのは、すべての属性を持つオブジェクトを戻すことです。
のfooの単純なモデル:
class foo(models.Model):
name = models.CharField(max_length=75)
categories = models.ManyToManyField(Category)
def __str__(self):
return self.name
私はテンプレートにfoos = foo.objects.all()
経由でインスタンスを渡しています。
<form method="POST" action="/path/">
{% csrf_token %}
<input type="text" class="btn btn-default" name="foo" list="foos">
<datalist id="foos">
{% for foo in foos %}
<option value="{{ foo }}">
{% endfor %}
</datalist>
<button class="btn btn-default">send</button>
</form>
そして、すべてのfooのインスタンスのタイルなど:request.POST
で
<form method="POST" action="/path">
{% csrf_token %}
<ul class="wrapper">
{% for category_ in categories %}
{% for foo in foos %}
{% if category_ in foo.categories.all %}
<input name="foo" type="submit" value="{{ foo }}" class="box box_text">
{% endif %}
{% endfor %}
{% endfor %}
</ul>
</form>
私がfooを持っていますオートコンプリートを持つテキストフィールドとして、ここで
:テンプレート彼らはこのように処理されたばかり文字列としての名前。私はそれを処理するためにビュー全体にインスタンス全体を戻したいと思う。また、foo.id
を送信するだけでうまくいくでしょう。しかしfoo.id
をfoo.name
の横に表示せずにテンプレートに入れる方法はわかりませんが、request.POST
に変数として送信します。その問題に加えて
私は行くよ、同じようfoo
オブジェクトが実際に見えるものを見なければ、このようなタスクのために学ぶためにどのような技術アドバイス(JSON、アヤックス、...)を
あなたは本当に物事を渡すために求めていますテンプレートからビューへ?それとももう一方の方法ですか? –
今私の問題は、テンプレートからさらに情報を送信して、文字列として送信するテンプレート '{{variables}}'をどのように送信するのか分かりません。もちろん、私はそれらを使って検索されたオブジェクトをフィルタリングするための変数をたくさん送ることができますが、私の場合はオブジェクトの名前を持つタイルがあり、それらは公開される可能性があります(実際にはどうやってpk投稿としても送信してください...) –
あなたは、あなたが渡したいものと、あなたがDjangoでそれをすることができないと思う理由について、より具体的にする必要があります。 –