gpt4 book ai didi

python - DJANGO_SETTINGS_MODULE 如何配置

转载 作者:行者123 更新时间:2023-11-28 16:31:44 25 4
gpt4 key购买 nike

我在一个使用 Django 1.8 和 Python-3.4 的项目中工作我想安装模型包以在我的应用程序中自动创建数据。我已经使用 pip install django-mockupseasy_install django-mockups

安装了这个包

我在 settings.py 文件中的 INSTALLED_APPS 中添加了“模型”条目

INSTALLED_APPS = (
'suit',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'mockups',
'tracks',
'albums',
'artists',
'userprofiles',
)

我想在我的控制台内的 django 管理实用程序中看到与我安装的包相关的可用命令,但最后,我收到关于我的环境变量 DJANGO_SETTINGS_MODULE 的注意事项消息和我在列表中看不到 django-mockups 包

(venv)➜  myproject  django-admin help 

Type 'django-admin help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
check
compilemessages
createcachetable
dbshell
diffsettings
dumpdata
flush
inspectdb
loaddata
makemessages
makemigrations
migrate
runfcgi
runserver
shell
showmigrations
sql
sqlall
sqlclear
sqlcustom
sqldropindexes
sqlflush
sqlindexes
sqlmigrate
sqlsequencereset
squashmigrations
startapp
startproject
syncdb
test
testserver
validate
Note that only Django core commands are listed as settings are not properly configured (error: 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.).

(venv)➜ 我的项目

我检查是否安装了 django-mockups 包并检查以下路径目录,这些目录实际上存在。

 /home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/django_mockups-0.4.8.dist-info` and
/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/mockups`

并且安装了django-mockups

(venv)➜  mockups  pip freeze
Django==1.8.2
django-mockups==0.4.8
django-suit==0.2.13
Pillow==2.9.0
wheel==0.24.0
(venv)➜ mockups

我的 DJANGO_SETTINGS_MODULE 是这样设置的:在manage.py文件中

#!/usr/bin/env python
import os
import sys

if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "sfotipy.settings")

from django.core.management import execute_from_command_line

execute_from_command_line(sys.argv)

在 wsgi.py 中

"""
WSGI config for myproject project.

It exposes the WSGI callable as a module-level variable named ``application``.

For more information on this file, see
https://docs.djangoproject.com/en/1.8/howto/deployment/wsgi/
"""

import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")

application = get_wsgi_application()

最后,当我尝试启动 django 服务器时,我得到了这个输出:

(venv)➜  myproject  ./manage.py runserver 
/home/bgarcial/.virtualenvs/venv/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
return f(*args, **kwds)

Traceback (most recent call last):
File "./manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 312, in execute
django.setup()
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/django/apps/config.py", line 86, in create
module = import_module(entry)
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/importlib/__init__.py", line 109, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 2231, in _gcd_import
File "<frozen importlib._bootstrap>", line 2214, in _find_and_load
File "<frozen importlib._bootstrap>", line 2203, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked
File "<frozen importlib._bootstrap>", line 1129, in _exec
File "<frozen importlib._bootstrap>", line 1448, in exec_module
File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_removed
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/mockups/__init__.py", line 2, in <module>
from mockups.factory import Factory
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/mockups/factory.py", line 1, in <module>
from mockups import generators
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/mockups/generators.py", line 100, in <module>
class StringGenerator(Generator):
File "/home/bgarcial/.virtualenvs/venv/lib/python3.4/site-packages/mockups/generators.py", line 101, in StringGenerator
coerce_type = unicode
NameError: name 'unicode' is not defined
(venv)➜ myproject

如何正确设置 DJANGO_SETTINGS_MODULE 环境变量?这个 DJANGO_SETTINGS_MODULE 配置是模型不起作用的根源吗?坦克很多:)

谢谢

最佳答案

我找到这个issue在 github 上。

也许 django-mockups 不支持 Python 3。


Python 3 将 unicode 更改为 str,将旧的 str 更改为 bytes

因此,如果您使用 Python 3 运行 django-mockups。将引发 NameError

如回溯所示,django-mockups 是用 Python 2 编写的。

关于python - DJANGO_SETTINGS_MODULE 如何配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31238500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com