AJAX リクエスト用の javascript/jquery ファイルで使用しようとしていますurl-names
が、この問題を解決できる解決策がいくつか見つかりました。私が現在使用しているものは次のとおりです。
JavaScript ファイルを提供する URL を定義します。
urls.py
url(r'^js/([\w\.\-]+)/([\w\.\-]+)/$', 'views.get_javascript_file', name='get_javascript_file')
url(r'^getmoredicus/$', 'load_discussions', name="load-discus"),
次に、JavaScript ファイルをレンダリングするビューを定義します。
ビュー.py:
def get_javascript_file(request, app_name, js_file):
'''
Used to request and serve rendered javascript/jquery files.
'''
return render_to_response("%s/%s.js" % (app_name, js_file),
context_instance=RequestContext(request))
html ファイルでは、get_javascript_file
url を使用して、レンダリングされた JavaScript ファイルを取得できます。
html ファイル:
<script type="text/javascript" src="{% url get_javascript_file 'myapp' 'jsfile' %}"></script>
これで、どの JavaScript ファイルでも、url-names
throughにアクセスできます{% url url-name %}
。
質問:
url-names
1) JavaScriptファイルで使用するためのより良い/より高速な方法はありますか? これを達成するためにすでにいくつかのアプリが作成されていることは知っていますが、これを達成するための最良の方法について、全員 (django の専門家) の意見を求めたいと思います。
2) レンダリングされた JavaScript ファイルを最初にレンダリングした後にキャッシュして、後続の各リクエストで再度レンダリングする必要がないようにすることはできますか? はいの場合、どうすればそれを行うことができますか。
3) この方法では、アプリ フォルダーからスクリプト ファイルをレンダリングします。STATIC_ROOT
ビューから静的ファイルにアクセスする方法はありget_javascript_file
ますか? これが本番環境でどのように機能するかを考えているところです。静的ファイルをアプリ フォルダーに配置してそこからアクセスするのではなく、アプリ フォルダーから静的ファイルにアクセスすることをお勧めSTATIC_URL
しますか?
ノート
この質問の一部に答えるSOに関する質問がすでにいくつかあることは知っていますが、将来のdjango学習者のために、これを最後に理解したかっただけです。url-names
injavascript
または anyを使用する最良の方法は何script
ですか?