运行views.py
文件时出现以下错误。请注意,在导入ratesEUR
模型之前,它工作正常:
视图.py(根据@sayse的回复):
from django.shortcuts import render
from models import ratesEUR
import json
import requests
def my_view(request):
response = requests.get("http://data.fixer.io/api/latest?access_key=XXX&base=EUR")
rates_EUR = json.loads(response.content.decode('utf-8'))
timestamp = rates_EUR['timestamp']
base = rates_EUR['base']
date = rates_EUR['date']
rates = rates_EUR['rates']
id = 1
rates_new = ratesEUR(id=id, timestamp=timestamp, base=base, date=date, rates=rates)
rates_new.save()
return response(data={})
根据错误:
Traceback (most recent call last):
File "C:\Users\Jonas\Desktop\dashex\Quotes_app\views.py", line 2, in <module>
from models import ratesEUR
File "C:\Users\Jonas\Desktop\dashex\Quotes_app\models.py", line 4, in <module>
class ratesEUR(models.Model):
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\base.py", line 103, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\apps\registry.py", line 252, in get_containing_app_config
self.check_apps_ready()
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\apps\registry.py", line 134, in check_apps_ready
settings.INSTALLED_APPS
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\conf\__init__.py", line 79, in __getattr__
self._setup(name)
File "C:\Users\Jonas\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\conf\__init__.py", line 64, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
[Finished in 0.41s]
型号.py:
from django.db import models
class ratesEUR(models.Model):
timestamp = models.CharField(max_length=10)
base = models.CharField(max_length=3)
date = models.DateField(auto_now=False, auto_now_add=False)
rates = models.CharField(max_length=8)
def __str__(self):
return self.base
设置.py:
import os.path
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/2.2/howto/static-files/
STATIC_ROOT = ''
STATIC_URL = '/static/'
STATICFILES_DIRS = (os.path.join('static'), )
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/2.2/howto/deployment/checklist/
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ["127.0.0.1", "locahost"]
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'Quotes_app',
'Wiki_app',
'rest_framework',
]
我已经尝试过的:
export DJANGO_SETTINGS_MODULE=dashex.settings
并将其保存到venv/bin/activate
中的代码底部,但我在myvirtualenv文件夹中根本没有这样的目录。你知道吗>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;<;<;<;<;<;<;<;<
export DJANGO_SETTINGS_MODULE=dashex.settings
。这导致shell中出现语法错误。你知道吗链接:ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured - Scraper
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;<;<;<;<;<;<;<;<
DJANGO_SETTINGS_MODULE = DASHEX.settings
插入我的设置.py根据官方的Django文件,但没有任何效果。你知道吗链接:https://docs.djangoproject.com/en/1.10/topics/settings/#designating-the-settings
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>;<;<;<;<;<;<;<;<
那么,我在哪里以及如何定义the environment variable DJANGO_SETTINGS_MODULE
,正如错误本身所建议的那样——可能——解决这个问题?你知道吗
非常感谢您的帮助!
您的视图不是一个视图,它只是第一次从导入时将运行的代码视图.py,你需要把它变成一个视图
你真正的问题是你在试图管理视图.py直接编写脚本,这不是django的工作方式,视图可以通过您设置的url访问。你知道吗
你的两个选择
或者像普通一样使用url调用视图
使用django shell
第一个建议是使用
from .models
而不是from models
,第二个建议是缩进响应,这样它就存在于视图中,因为在第2行的问题被传递之后,您将得到一个语法错误。你知道吗是什么设置.py看起来像?是否已将应用程序添加到已安装的应用程序变量?你知道吗
相关问题 更多 >
编程相关推荐