私はdjango devに入ろうとしていますが、これにはかなりの初心者です...ここに私の問題があります:
私は持っている :
- App1 - サイトのパブリケーションを処理するため
- ビュー 1
テンプレート 1 管理ビュー 1: index.html
App2 名前付きメンバー - ユーザーの管理用
- ビュー 2
- view2 を管理するテンプレート 2: login.html
基本的に、1 番目のグループは私のメイン ページであり、2 番目のグループはユーザーのログイン フォームです。多くのサイトで見られるように、サイトのメイン ページの右側のメニューにログイン フォームを埋め込みたいと考えています。
ビュー 1 / テンプレート 1 は base.html からコンテンツ ブロックを拡張します
def MainHomePage(request): homepage = HomePage.objects.get(pk=1) context = {'homepage': homepage} return render_to_response('index.html', context, context_instance=RequestContext(request))
ビュー 2 / テンプレート 2 は、ログイン フォームを使用して base.html から right_menu を拡張します。
def LoginRequest(request): if request.user.is_authenticated(): return HttpResponseRedirect('/profile/') if request.method =='POST': form =LoginForm(request.POST) if form.is_valid(): username = form.cleaned_data['username'] password = form.cleaned_data['password'] member = authenticate(username=username, password=password) if member is not None: login(request, member) return HttpResponseRedirect('/') else: return render_to_response('login.html', {'form':form}, context_instance=RequestContext(request)) else: return render_to_response('login.html', {'form':form}, context_instance=RequestContext(request)) else: form = LoginForm() context = {'form':form} return render_to_response('login.html', context, context_instance=RequestContext(request))
その方法がわかりません!ビュー1にビュー2をインポートし、両方のテンプレートについて適切な応答を返す必要があると思います。テンプレートもマージする必要がありますか? 2 つの異なる URL によって呼び出されるため、どのように呼び出されるのかわかりません。うーん、私は少し迷っています。誰かが私の心を啓発してくれたらうれしいです...