1

django-registration別の HTML ドキュメントから登録フォーム テンプレートを挿入しようとしています。元の登録テンプレートは完全に正常に機能し、ユーザーは DB に保存されます。

これは、を使用して他の HTML ドキュメントに登録フォームを挿入しようとしたときに発生したこと{% extend registration/myRegistrationFormTemplate.html %}です。フィールドが表示されず、送信ボタンが機能しません。

また、これはmyRegistrationFormTemplate.html、Jquery メソッド .load を使用してロードしようとしたときに発生したことです。フィールドは表示されますが、送信ボタンが機能しません。

問題は次のとおりです。なぜこれが起こっているのですか?これを行うための通常の手順は何ですか?

4

2 に答える 2

0

インクルードされたページを現在のコンテキストでレンダリングできるようにするincludeを使用する必要がある場合があります。ただし、これは、テンプレート構造を設計する方法と、他のテンプレートを拡張する方法に完全に依存します。この答えは違いを説明するかもしれません:https ://stackoverflow.com/a/2863753/2074398

于 2013-02-16T16:27:09.327 に答える
0

ありがとう FallenAngel あなたは正しかった、私はビュー情報を見逃していました. そして、「インクルード」アルマルキについて教えてくれてありがとう、今ではすべて正しく機能しています。私のプロジェクトでは、このビューで 2 つのフォームと jquery モーダル ウィンドウを使用しています。ソリューションを簡素化するために、1 つのフォームのみを使用します。これが誰かに役立つことを願っています。

解決策: フォームを含めるテンプレートのビュー

def patrimonio_view(request, 
     template_name='home/patrimonio.html'):

#OTHER DB QUERYS
pat = patrimonio.objects.all()
ciu = ciudad.objects.all()

if request.method == 'POST':
    if "Registrar_usuario" in request.POST:
        #USER REGISTRATION FORM RELATIVE
        return register_usuario()

    if "Registrar_comerciante" in request.POST:
        #MERCHANT REGISTRATION FORM RELATIVE
        return register_comerciante()

#RENDER
return render_to_response(template_name,{
   'patrimonio':pat, 
   'ciudad':ciu,
}, context_instance=RequestContext(request))

urls.py

url(r'^patrimonio/$','patrimonio_view',
{'backend_registro_usuario': 'Hesperides.apps.accounts.regbackend_usuario.DefaultBackend','form_class_usuario':RegistrationForm_usuario}, name='vista_patrimonio'),

テンプレートには、次のフォームを含めます。

{% include "registration/registration_form_usuario.html" %}
于 2013-02-18T21:32:25.123 に答える