【问题标题】:How to display the content on the form in django如何在 django 中显示表单上的内容
【发布时间】:2016-10-25 09:53:44
【问题描述】:

我尝试在 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 %}

我的网址页面

回复

[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'}

【问题讨论】:

    标签: html django django-forms


    【解决方案1】:

    我不知道您为什么不使用现有的 django 框架函数,例如 forms。但是要将response 发送到"storage/storage_list.html",您可以尝试:

    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 %}
    

    【讨论】:

    • 我是新手T..T。还有其他请求方法吗?
    • 如果电子邮件匹配,您希望在模板上显示user 的哪些信息?
    • 我想显示对用户的响应(用户是管理员或员工)。响应是“X-Storage-Token”和“X-Storage-Url”。
    • 我更新了我的答案。请试试这个。您必须将X-Storage-User 更改为X_Storage_User 并将X-Storage-Pass 更改为X_Storage_Pass(也在xGet 函数中),因为python 中的变量没有连字符。
    猜你喜欢
    • 2018-10-11
    • 2022-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多