29

このソーシャル登録/サインアップ ライブラリdjango allauthを私のプロジェクトに使用しました。デフォルトのテンプレートとフォームをカスタマイズして、ルック アンド フィールを向上させるにはどうすればよいですか?

4

7 に答える 7

22

TEMPLATE_DIRS次のような設定を使用して、プロジェクト レベルのテンプレート ディレクトリを設定したとします。

TEMPLATE_DIRS = [
    os.path.join(PROJECT_DIR, 'templates'),
]

ここに表示されているすべてのフォルダーをそのディレクトリにコピーし、必要に応じて編集できるはずです。ほとんどのテンプレートはブロックを埋めているように見えるので、テンプレートでそのブロックをどこかに定義すると{% block content %}、おそらく最も簡単です。site_base.html

を設定していない場合TEMPLATE_DIRSは、同じことを行うことができますが、テンプレート フォルダーをtemplatesいずれかのアプリのディレクトリにコピーします。TEMPLATE_DIRSメインのサイト テンプレートはbase.html、実際には特定のアプリに属しているわけではないので、そこのように設定して保持することを好みますが、それは単なる好みです。テンプレートローダーはどちらの方法でもそれらを見つける必要があります。

于 2012-03-05T17:26:43.813 に答える
12

あなたの見解では:

from allauth.account.views import SignupView, LoginView


class MySignupView(SignupView):
    template_name = 'my_signup.html'


class MyLoginView(LoginView):
    template_name = 'my_login.html'

独自のテンプレートを構築するための例とドキュメントに注意してください。

ただし、テンプレートの例でこの部分を見てください。

<form id="signup_form" method="post" action="{% url 'account_signup' %}">

自分のテンプレートで適切に機能させるには、URL リンクを削除する必要がありました。

<form id="signup_form" method="post" action="">'
于 2016-04-06T15:02:13.210 に答える
12

github の all-auth の最新バージョンには外部のテンプレートがありますが、Pypi のテンプレートはそうではありません。必要なことは、プロジェクト ディレクトリのリポジトリを複製して、テンプレートをオーバーライドすることだけです。それと同じくらい簡単です。

于 2012-03-05T12:19:53.990 に答える
9

admin テンプレートのオーバーライドと同じロジックを使用します。

于 2012-03-06T09:29:47.873 に答える
4

exampleアプリケーションを見てください。templates必要なテンプレートのレイアウトを示すフォルダがあります

于 2012-02-24T20:37:47.653 に答える
2

インストール後に django-allauth をカスタマイズするには、site-packages からコピーして、プロジェクトの apps ディレクトリに貼り付けます。このようにして、使用されるデフォルトのallauthアプリとそのテンプレートは、プロジェクトのallauthアプリのものになります。次に、socialaccountsignup.htmlを変更する場合は、apps\allauth\templates\socialaccount\signup.htmlに移動し、'block content' タグ内を編集して変更します。

{% block content %}
    // your customized html for signup form
{% endblock %}

これがあなたを助けることを願っています。

于 2012-03-05T11:26:03.033 に答える