2013-08-06 4 views
0

저는 웹 사이트 스타일에 Django Bootstrap Toolkit을 사용하고 있으며 약간의 문제가 있습니다. 기본적으로 사용자 스위치 인 기본 HTML에 양식이 포함되도록 노력하고 있습니다. 즉, 이름 목록이 주어지면 사용자는 "Guest"로 로그인하지 않고 사이트를 사용하면서 사용자를 전환할지 여부를 결정할 수 있습니다 "(사이트는 내부적이므로 자격 증명 인증이 필요하지 않습니다.) 내가 가진 뷰는 다음과 같습니다Django 부트 스트랩 툴킷 제출

from django.shortcuts import render, render_to_response, redirect 
from django.template import RequestContext 
from django.http import HttpResponse, Http404 

import datetime 

myUsers = ['User A', 'User B', 'User C', 'User D', 'User E', 'Guest'] 

def index(request): 
    # make login default guest if not logged in 
    if not 'myUser' in request.session: 
     request.session['myUser'] = 'Guest' 
    # grab user if we've submitted login form from this page 
    if request.method == 'POST': 
     if 'myUser' in request.POST: 
      request.session['myUser'] = request.POST['myUser'] 
    return render(request, 'home/index.html', {'myUsers': myUsers}) 

def login(request, myUser): 
    request.session['myUser'] = myUser 
    return redirect('index') 

형태를 포함하는 기본 HTML 템플릿은 다음과 같다 :

{% load bootstrap_toolkit %} 
<html> 
<head> 
    <title>{% block title %}{% endblock %}</title> 
    <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.no-icons.min.css" rel="stylesheet"> 
    <link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet"> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> 
    {% bootstrap_javascript_tag %} 
</head> 
<body> 
    {% block header %} 
     <h3 style="font-family: Source Sans Pro, Myriad Pro; font-size: 16px; margin-left: 20px"> 
     {% if request.session.myUser %} 
      Current User: {{ request.session.myUser}} 
      <div class="navbar"> 
       <form class="navbar-form pull-left" action="" method="post" id="myUser"> 
       {% csrf_token %} 
        <select name id class="form-control" style="width: 200px;"> 
         {% for myUser in myUsers %} 
          <option value="{{ myUser }}">{{ myUser }}</option> 
         {% endfor %} 
        </select> 
        <button id="formSubmit" type="submit" class="btn btn-default">Change User</button> 
       </form> 
      </div> 
     {% else %} 
      No User Logged In 
      <div class="navbar"> 
       <form class="navbar-form pull-left" action="" method="post" id="myUser"> 
       {% csrf_token %} 
        <select name id class="form-control" style="width: 200px;"> 
         {% for myUser in myUsers %} 
          <option value="{{ myUser }}">{{ myUser }}</option> 
         {% endfor %} 
        </select> 
        <button id="formSubmit" type="submit" class="btn btn-default">Login</button> 
       </form> 
      </div> 
     {% endif %} 
     </h3> 
    {% endblock %} 
    <hr> 
    <h1 style="text-align:center; font-family: Myriad Pro; font-size: 60px; padding: 10px">MySite</h1> 
    <div style="text-align:center" name="content"> 
     {% block content %} 

     {% endblock %} 
    </div> 
    {% block footer %} 
    {% endblock %} 
</body> 
</html> 

내가 문제가되지 않습니다 기본 고객 로그인을 얻을,하지만 불행히도하지 않습니다 사용자가 드롭 다운 메뉴를 클릭하고 다른 개인을 선택할 때 어떤 종류의 사용자 전환이 발생합니다. 그것은 내가 뭔가를 놓치고있는 것 같지만, 불행하게도 그렇다면 알아낼 수 없습니다. 도움말은 대단히 감사합니다!

답변

0

귀하의 문제는 당신이 당신의 <select></select> 양식 필드의 이름을 지정하지 않은, <select name id class="form-control" style="width: 200px;">

다음과 같다.

코드를 수정하여 적절한 양식 필드 이름을 포함하십시오.

<select name="myUser" class="form-control" style="width: 200px;"> 

Django Form을 사용하여 양식 데이터를 처리하는 것이 좋습니다.

+0

답장을 보내 주셔서 감사합니다. 제안 된 변경 사항을 적용했지만 불행히도 변경된 기능을 수행하지는 못했습니다. 나는 여전히 게스트가 아닌 다른 드롭 다운 선택 사항으로 로그인했습니다. – coltonoscopy

+0

나는 그것을 뒤로 가져 간다. 나는 잘못된 부분을 수정했다. 내 사과! 도와 주셔서 대단히 감사합니다. 대단 했어요. – coltonoscopy

관련 문제