Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 接收到Django应用程序中my dict对象没有属性META的错误_Python_Django - Fatal编程技术网

Python 接收到Django应用程序中my dict对象没有属性META的错误

Python 接收到Django应用程序中my dict对象没有属性META的错误,python,django,Python,Django,我正在尝试提取json数据,并使用Django将其显示在页面上。我收到以下错误: “dict”对象没有属性“META” 在my views.py文件的第36行,如下所示: 返回呈现(请求'base_generic.html',context=context) 在一次搜索中,我找到了正确的括号,我也找到了,但老实说,这让我更加困惑 关于为什么会发生这种情况或者我做错了什么,你有什么建议吗?非常感谢您,如果有什么我可以提供,使我的问题更清楚,我会这样做。谢谢大家抽出时间 视图.py from dja

我正在尝试提取json数据,并使用Django将其显示在页面上。我收到以下错误:

“dict”对象没有属性“META”

在my views.py文件的第36行,如下所示:

返回呈现(请求'base_generic.html',context=context)

在一次搜索中,我找到了正确的括号,我也找到了,但老实说,这让我更加困惑

关于为什么会发生这种情况或者我做错了什么,你有什么建议吗?非常感谢您,如果有什么我可以提供,使我的问题更清楚,我会这样做。谢谢大家抽出时间

视图.py

from django.shortcuts import render
from datetime import datetime

import requests


def index(request):

    request = requests.get(MY_URL_IS_HERE).json()

    current_temperature = request['currently']['temperature']
    current_cloud_cover = request['currently']['cloudCover']
    current_humidity = request['currently']['humidity']
    current_near_storm_distance = request['currently']['nearestStormDistance']
    current_near_storm_bearing = request['currently']['nearestStormBearing']
    current_precip_intensity = request['currently']['precipIntensity']
    current_uv_index = request['currently']['uvIndex']
    current_sunrise = datetime.fromtimestamp(request['daily']['data'][0]['sunriseTime'])
    current_sunset = datetime.fromtimestamp(request['daily']['data'][0]['sunsetTime'])

    test = 'test'

    context = {
        'current_temperature':current_temperature,
        'current_cloud_cover':current_cloud_cover,
        'current_humidity':current_humidity,
        'current_near_storm_distance':current_near_storm_distance,
        'current_near_storm_bearing':current_near_storm_bearing,
        'current_precip_intensity':current_precip_intensity,
        'current_uv_index':current_uv_index,
        'current_sunrise':current_sunrise,
        'current_sunset':current_sunset,
    }

    return render(request, 'base_generic.html', context=context)
generic_base.html

<!DOCTYPE html>
<html lang="en">
<head>
  {% block title %}<title>weather</title>{% endblock %}
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
  <!-- Add additional CSS in static file -->
  {% load static %}
  <link rel="stylesheet" href="{% static 'css/styles.css' %}">
</head>
<body>
  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-2">
      {% block sidebar %}
     {% endblock %}
      </div>
      <div class="col-sm-10 ">{% block content %}{% endblock %}</div>
    </div>
  </div>
</body>
</html>
{% extends "base_generic.html" %}

{% block content %}
  <ul>
    <li><strong>current_cloud_cover:</strong> {{ current_cloud_cove }}</li>
    <li><strong>current_temperature:</strong> {{ current_temperature }}</li>
    <li><strong>current_humidity:</strong> {{ current_humidity }}</li>
    <li><strong>current_near_storm_distance:</strong> {{ current_near_storm_distance }}</li>
    <li><strong>current_near_storm_distance:</strong> {{ current_near_storm_distance }}</li>
    <li><strong>current_near_storm_bearing:</strong> {{ current_near_storm_bearing }}</li>
    <li><strong>current_precip_intensity:</strong> {{ current_precip_intensity }}</li>
    <li><strong>current_uv_index:</strong> {{ current_uv_index }}</li>
    <li><strong>current_sunrise:</strong> {{ current_sunrise }}</li>
    <li><strong>current_sunset:</strong> {{ current_sunset }}</li>
  </ul>
{% endblock %}

{%block title%}天气{%endblock%}
{%load static%}
{%块边栏%}
{%endblock%}
{%block content%}{%endblock%}
index.html

<!DOCTYPE html>
<html lang="en">
<head>
  {% block title %}<title>weather</title>{% endblock %}
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
  <!-- Add additional CSS in static file -->
  {% load static %}
  <link rel="stylesheet" href="{% static 'css/styles.css' %}">
</head>
<body>
  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-2">
      {% block sidebar %}
     {% endblock %}
      </div>
      <div class="col-sm-10 ">{% block content %}{% endblock %}</div>
    </div>
  </div>
</body>
</html>
{% extends "base_generic.html" %}

{% block content %}
  <ul>
    <li><strong>current_cloud_cover:</strong> {{ current_cloud_cove }}</li>
    <li><strong>current_temperature:</strong> {{ current_temperature }}</li>
    <li><strong>current_humidity:</strong> {{ current_humidity }}</li>
    <li><strong>current_near_storm_distance:</strong> {{ current_near_storm_distance }}</li>
    <li><strong>current_near_storm_distance:</strong> {{ current_near_storm_distance }}</li>
    <li><strong>current_near_storm_bearing:</strong> {{ current_near_storm_bearing }}</li>
    <li><strong>current_precip_intensity:</strong> {{ current_precip_intensity }}</li>
    <li><strong>current_uv_index:</strong> {{ current_uv_index }}</li>
    <li><strong>current_sunrise:</strong> {{ current_sunrise }}</li>
    <li><strong>current_sunset:</strong> {{ current_sunset }}</li>
  </ul>
{% endblock %}
{%extensed“base_generic.html”%}
{%block content%}
  • 当前云覆盖范围:{{current\u cloud\u cove}
  • 当前温度:{{current\u temperature}
  • 当前湿度:{{current\u湿度}
  • 当前风暴附近距离:{{current\u near\u storm\u distance}
  • 当前风暴附近距离:{{current\u near\u storm\u distance}
  • 风暴附近的海流方向:{{strong>风暴附近的海流方向}
  • 当前精度强度:{{current\u precip\u intensity}
  • 当前紫外线指数:{{current\u uv\u index}
  • 当前日出:{{当前日出}
  • 当前日落:{{当前日落}
{%endblock%}
完全回溯

环境:

请求方法:获取请求URL:

Django版本:2.2.3 Python版本:3.6.8已安装的应用程序: ['django.contrib.admin','django.contrib.auth', 'django.contrib.contenttypes','django.contrib.sessions', 已安装'django.contrib.messages','django.contrib.staticfiles'] 中间件:['django.Middleware.security.SecurityMiddleware', “django.contrib.sessions.middleware.SessionMiddleware”, 'django.middleware.common.CommonMiddleware', “django.middleware.csrf.CsrfViewMiddleware”, 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.xframeoptions中间件']

回溯:

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/core/handlers/exception.py” 在内部 34响应=获取响应(请求)

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/core/handlers/base.py” 你得到了什么回应 115response=self.process\u异常\u由\u中间件(e,请求)

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/core/handlers/base.py” 你得到了什么回应 113响应=包装的回调(请求,*回调参数,**回调参数)

索引中的文件“/home/doug/Documents/opengarden/wx/views.py” 36返回呈现(请求'base_generic.html',context=context)

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/shortcuts.py” 渲染中 36content=loader.render_to_string(模板名称、上下文、请求、using=using)

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/template/loader.py” 在render_to_字符串中 62返回template.render(上下文、请求)

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/template/backends/django.py” 渲染中 61返回self.template.render(上下文)

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/template/base.py” 渲染中 169使用context.bind_模板(self):

文件“/usr/lib/python3.6/contextlib.py”在输入中 81返回下一个(self.gen)

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/template/context.py” in-bind_模板 246更新(处理器(自我请求))

文件 “/home/doug/.virtualenvs/django/lib/python3.6/site packages/django/template/context_processors.py” 调试中 40如果settings.INTERNAL\u IPS中的settings.DEBUG和request.META.get('REMOTE\u ADDR'):

异常类型:AttributeError位于/wx/异常值:“dict”对象 没有属性“META”


我的问题是,我使用的变量名“request”与函数参数冲突。我一改变这一点,它就起作用了


感谢Selcuk和GavinH的帮助。

在此处使用不同的变量名,因为它与函数参数冲突:
request=requests.get(MY_URL\u IS_here).json()。我已经找了大约两个小时的答案,这就解决了我的问题。现在出于某种原因,它只是显示一个空白页,而不是我的数据,但这是一个新问题。非常感谢您抽出时间!你可能想呈现
“index.html”
而不是
“base\u generic.html”
@GavinH你们都太棒了。疯狂的是,我怎么会被这样的小事缠住而忽略了。非常感谢你抽出时间。