2016-06-23 15 views
-1

Djangoのフォームにコンテンツを表示しようとしました。私は、検索バーからの電子メールを入力すると、結果を応答に表示したい。どのように応答に結果を表示するのですか?djangoのフォームにコンテンツを表示する方法

views.py

from django.shortcuts import render 
from django.utils import timezone 
import requests 
from .models import StorageList 
from django.db.models import Q 

def xGET(x_auth_user, x_auth_key): 
    url = 'https://ssproxy.ucloudbiz.olleh.com/auth/v1.0' 
    headers = {'X-Storage-User': x_auth_user, 'X-Storage-Pass': x_auth_key} 
    response = requests.get(url, headers=headers) 
    print response.headers 

def storage_list(request): 
    today = timezone.now().date() 
    queryset_list = StorageList.objects.all() 
    for data in queryset_list: 
     MEM_ID = data.mem_id 
     MEM_SQ = data.mem_sq 
     X_AUTH_USER = data.x_auth_user 
     X_AUTH_KEY = data.x_auth_key 
     URL = data.x_storage_url 
     API_KEY = data.accesskey 
     query = request.GET.get('q') 
     if query == MEM_ID: 
      xGET(X_AUTH_USER, X_AUTH_KEY) 

    return render(request, "storage/storage_list.html") 

テンプレート

{% extends "base.html" %} 
{% block content %} 

<div class='col-sm-6 col-sm-offset-3'> 
    <h1>{{ title }}</h1> 
    <form method='GET' action='' class='row'> 
     <div class='col-sm-6'> 
      <div class='input-group'> 
       <input class='form-control' type='text' name='q' placeholder='Search posts' value='{{ request.GET.q }}'/> 
       <span class='input-group-btn'> 
        <!-- <input class='btn btn-default' type='submit' value='Search' /> --> 
        <button class='btn btn-default' type='submit'>Search <i class="fa fa-search"></i></button> 
       </span> 
      </div> 
     </div> 
    </form> 
{% endblock content %} 

私のURLページ

enter image description here

応答

[23/Jun/2016 16:40:49] "GET /storage/ HTTP/1.1" 200 5844 
{'Content-Length': '126', 'X-Trans-Id': 'tx76ab9e218a2c4e4c9ed5642c89ae1033', 'X-Auth-Token-Expires': '77233', 'X-Auth-Token': 'AUTH_tkb6e12312141494254', 'Connection': 'close', 'X-Storage-Token': 'AUTH_t1231321131413c9b94254', 'Date': 'Thu, 23 Jun 2016 07:40:52 GMT', 'X-Storage-Url': 'https://ssproxy.ucloudbiz.olleh.com/v1/AUTH_be2b4d4d-3e5d-487c-bf31-bc42f7cf9ce8', 'Content-Type': 'text/html; charset=UTF-8'} 

答えて

0

あなたはformsのように存在していたDjangoフレームワークの機能を使用していない理由を私は知りません。しかし"storage/storage_list.html"responseを送信するために、あなたは試みることができる:

def xGET(x_auth_user, x_auth_key): 
    url = 'https://ssproxy.ucloudbiz.olleh.com/auth/v1.0' 
    headers = {'X_Storage_User':x_auth_user, 'X_Storage_Pass':x_auth_key} 
    response = requests.get(url, headers=headers) 
    return response 

def storage_list(request): 
    today = timezone.now().date() 
    queryset_list = StorageList.objects.all() 
    for data in queryset_list: 
     MEM_ID = data.mem_id 
     MEM_SQ = data.mem_sq 
     X_AUTH_USER = data.x_auth_user 
     X_AUTH_KEY = data.x_auth_key 
     URL = data.x_storage_url 
     API_KEY = data.accesskey 
     query = request.GET.get('q') 
     if query == MEM_ID: 
      response = xGET(X_AUTH_USER, X_AUTH_KEY) 
      # if user matched send the response 
      return render(request, "storage/storage_list.html",context = response) 
    return render(request, "storage/storage_list.html") 

テンプレート

{% extends "base.html" %} 
{% block content %} 

<div class='col-sm-6 col-sm-offset-3'> 
    <h1>{{ title }}</h1> 
    <form method='GET' action='' class='row'> 
     <div class='col-sm-6'> 
      <div class='input-group'> 
       <input class='form-control' type='text' name='q' placeholder='Search posts' value='{{ request.GET.q }}'/> 
       <span class='input-group-btn'> 
        <!-- <input class='btn btn-default' type='submit' value='Search' /> --> 
        <button class='btn btn-default' type='submit'>Search <i class="fa fa-search"></i></button> 
       </span> 
      </div> 
     </div> 
    </form> 
{% if X_Storage_User and X_Storage_Pass %} 
    User: {{X_Storage_User}} 
    Pass: {{X_Storage_Pass}} 
{% endif %} 
{% endblock content %} 
+0

私は初心者T..Tています。他のリクエスト方法? – lovethesky

+0

電子メールが一致した場合、テンプレートに表示する 'user'の情報は何ですか? – trantu

+0

私はユーザーに応答を表示したい(ユーザーはadminまたはstaffです)。応答は「X-Storage-Token」と「X-Storage-Url」です。 – lovethesky

関連する問題