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_fileurl を使用して、レンダリングされた JavaScript ファイルを取得できます。
html ファイル:
<script type="text/javascript" src="{% url get_javascript_file 'myapp' 'jsfile' %}"></script>
これで、どの JavaScript ファイルでも、url-namesthroughにアクセスできます{% url url-name %}。
質問:
url-names1) JavaScriptファイルで使用するためのより良い/より高速な方法はありますか? これを達成するためにすでにいくつかのアプリが作成されていることは知っていますが、これを達成するための最良の方法について、全員 (django の専門家) の意見を求めたいと思います。
2) レンダリングされた JavaScript ファイルを最初にレンダリングした後にキャッシュして、後続の各リクエストで再度レンダリングする必要がないようにすることはできますか? はいの場合、どうすればそれを行うことができますか。
3) この方法では、アプリ フォルダーからスクリプト ファイルをレンダリングします。STATIC_ROOTビューから静的ファイルにアクセスする方法はありget_javascript_fileますか? これが本番環境でどのように機能するかを考えているところです。静的ファイルをアプリ フォルダーに配置してそこからアクセスするのではなく、アプリ フォルダーから静的ファイルにアクセスすることをお勧めSTATIC_URLしますか?
ノート
この質問の一部に答えるSOに関する質問がすでにいくつかあることは知っていますが、将来のdjango学習者のために、これを最後に理解したかっただけです。url-namesinjavascriptまたは anyを使用する最良の方法は何scriptですか?