私はdjangoウェブアプリケーションを作成しており、ユーザーインターフェースにはjquery-uiを使用しています。私はユーザー登録の世話をするためにdjango登録を使用しています。jquery-uiとDjangoを使用してモーダルログインフォームを作成するには
基本的に、私がやろうとしていることは、別のログインページを持つ代わりに、私はログインページをモーダルダイアログにしてリンクをクリックするようにしました。ポップアップが表示され、そこからログインすることができます。この部分では、jquery-ui modal formを使用していますが、基本的には通常隠されているログインフォームを表示しています。私は、ユーザーがログインを必要とする何かをしたい時はいつでもログインモーダルウィンドウがポップアップしますので
url(r'^$',
auth_views.login,
{'template_name': 'index.html'}),
:ページのURLは次のように見える場合
しかし、私はそれが仕事を得ることができます私は複数のページでそれを必要とします。しかし、私はすべてのURLを上記のように見せたくありません。
問題を解決する別の質問がありました:Django authentication and Ajax - URLs that require login 私は答えを完全に理解していません。私はまだDjangoとjavascriptをかなり新しくしているので、もう少しガイダンスを提供できるかどうか疑問に思っていましたか?ここで
フォームの "index.htmlを" の一部です:
<div id="dialog-form" title="LOGIN">
<form method="post" action="?next={{ next|default:"/" }}">
{% csrf_token %}
<dl>
<dt><label for="id_username">Username:</label>{% if form.username.errors %} <span class="error">{{ form.username.errors|join:", " }}</span>{% endif %}</dt>
<dd>{{ form.username }}</dd>
<dt><label for="id_password">Password:</label>{% if form.password.errors %} <span class="error">{{ form.password.errors|join:", " }}</span>{% endif %}</dt>
<dd>{{ form.password }}</dd>
<dt><input type="submit" value="Log in" /></dt>
</dl>
</form>
</div>
<button id="login">LOGIN</button>
そして、ここではjavascriptのだ:
<script>
$(function() {
$("#dialog-form").dialog({
autoOpen: false,
height: 500,
width: 550,
modal: true,
buttons: {
Close: function() {
$(this).dialog("close");
}
},
close: function() {
allFields.val("").removeClass("ui-state-error");
}
});
$("#login").click(function() {
$("#dialog-form").dialog("open");
});
});
</script>
はあなたの助けのために事前にありがとうございます。