私は基本的なコンセプトが欠けていると思います。 1がコンテンツを提供し、他のプレゼンテーションを提供して言う -2つのアプリケーションがDjangoの同じURLにどのように応答できますか?
はhttp://localhost/myproj/app1/33
http://localhost/myproj/app2/newcomment.html
しかし、どのようなメカニズムは、2つのアプリが相補的であるケースを処理するために存在します。ステレオタイプのDjangoプロジェクトでは、2つのアプリケーションが異なるURLに応える必要があるだろうか?または、1つはコンテンツであり、もう1つはあらゆるページに表示されるような静的で横幅のコンテンツです。
特に、両方のアプリがテンプレート継承を使用して同じテンプレートを拡張する方法を理解できません。
{% extends "baseapp/templates/base.html" %}
{% block content %}
<div class="banner">Please support our site!</div>
{{ block.super }}
{% endblock %}
:
{% extends "baseapp/templates/base.html" %}
{% block content %}
... here's the actual content...
{% endblock %}
App2のが少しバナーか何かを追加します。
...
<div blah blah>
{% block content %}
{% endblock %}
...
App1のは、それを拡張:ベースアプリ "baseappは" テンプレート "base.html" とあります想像してみてでは、両方のテンプレートが表示される方法は何ですか?私は考えることができます:
- app1 app2のテンプレートを拡張することができます。しかし、これは間違っていると思われます.app1はコンテンツプロバイダであり、app2のようなものには依存しないでください。
- app2はapp1のテンプレートを拡張できます。しかし、これは間違っているようです:私は正しく理解していれば、URLスキームはapp2を介してすべてのURLを漏らさなければならないでしょう
- ミドルウェア?
私が言ったように、私はおそらく非常に基本的なものを欠いているでしょう。それとも私は、私が知らない非常に間違った仮定をしています。 (この質問は、Embed an optional Django application in another page, if that app is presentとHow to capture and display information external to my webapp, but relevant to users of it?の後の3回目の試みです)問題のフレーミングに問題があります。
あなたの第二のアプリはテンプレートタグです。あなたの最初の試みで提案されたものです。 –
オクラホン - 私はよく見るでしょう。 –