【发布时间】:2013-01-25 04:38:56
【问题描述】:
我正在尝试进入 django 开发,但我对此还是个新手... 这是我的问题:
我有:
- App1 - 用于处理我的网站发布
- 查看 1
模板 1 管理 view1:index.html
App2 命名成员 - 用于管理用户
- 查看 2
- 模板 2 管理 view2: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)) -
View 2 / templates 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))
我不知道该怎么做! 我想也许我应该在 view1 中导入 view2 并为两者返回正确的响应 模板也应该合并吗? 看不到它们是如何被 2 个不同的 url 调用的。好吧,我有点迷路了 如果有人能启发我的想法,我会很高兴...
【问题讨论】:
-
LoginRequest的代码是否正常?return HttpResponseRedirect('/profile/')行之后似乎有额外的缩进。 -
抱歉复制粘贴错误,在我的 views.py 文件中已完成。
标签: django django-templates django-views