这是我第一次尝试将Django应用程序(django 2.0.1)(Python 3.6)部署到pythonanywhere,它是一个简单的投资组合应用程序,没有模型,没有引导程序.只是Django,HTML,CSS和Javascript.
在使用他们的bash控制台将它从Github repo拉到pythnanywhere后,我运行:
python manage.py migrate
Run Code Online (Sandbox Code Playgroud)
&被这个错误命中:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
execute_from_command_line(sys.argv)
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 371, in
execute_from_command_line
utility.execute()
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 216, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/site-
packages/django/core/management/__init__.py", line 36, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/home/Limerin555/.virtualenvs/projectenv/lib/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 978, in _gcd_import
File "<frozen …Run Code Online (Sandbox Code Playgroud) 在 Django 启动时,我需要运行一些需要访问数据库的代码。我更喜欢通过模型来做到这一点。
这是我目前拥有的apps.py:
from django.apps import AppConfig
from .models import KnowledgeBase
class Pqawv1Config(AppConfig):
name = 'pqawV1'
def ready(self):
to_load = KnowledgeBase.objects.order_by('-timestamp').first()
# Here should go the file loading code
Run Code Online (Sandbox Code Playgroud)
但是,这会导致以下异常:
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
那么在模型初始化之后,Django 中有没有地方可以运行一些启动代码呢?
我正在做一个 Django 项目并尝试提高后端的计算速度。
该任务类似于受 CPU 限制的转换过程
这是我的环境
当我尝试通过 python 多处理库并行计算 API 时,我遇到了以下错误。
File "D:\\project\apps\converter\models\convert_manager.py", line 1, in <module>
from apps.conversion.models import Conversion
File "D:\\project\apps\conversion\models.py", line 5, in <module>
class Conversion(models.Model):
File "C:\\virtenv\lib\site-packages\django\db\models\base.py", line 105, in __new__
app_config = apps.get_containing_app_config(module)
File "C:\\virtenv\ib\site-packages\django\apps\registry.py", line 237, in get_containing_app_config
self.check_apps_ready()
File "C:\\lib\site-packages\django\apps\registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
Run Code Online (Sandbox Code Playgroud)
看起来每个流程导入转换模型和转换模型就像
from django.db import models
Conversion(model.Model):
conversion_name = models.CharField(max_length=63)
conversion_user = models.CharField(max_length=31)
conversion_description = models.TextField(blank=True)
...
Run Code Online (Sandbox Code Playgroud)
下面是我想要并行的示例函数,每次迭代都是独立的,但会访问或插入数据到 …
我有一个目前正在研究Django 1.8的项目.自从1.9刚刚发布以来,我想我会通过更新pip install django==1.9.但是,在运行时python manage.py test -v 3,我收到此错误:
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_from_command_line(sys.argv)
File "/home/user/Envs/intranet/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
utility.execute()
File "/home/user/Envs/intranet/lib/python2.7/site-packages/django/core/management/__init__.py", line 324, in execute
django.setup()
File "/home/user/Envs/intranet/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
apps.populate(settings.INSTALLED_APPS)
File "/home/user/Envs/intranet/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
app_config = AppConfig.create(entry)
File "/home/user/Envs/intranet/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
module = import_module(entry)
File "/usr/lib64/python2.7/importlib/__init__.py", line 37, in import_module
__import__(name)
File "/home/user/Envs/intranet/lib/python2.7/site-packages/reversion/__init__.py", line 11, in <module>
from reversion.revisions import default_revision_manager, …Run Code Online (Sandbox Code Playgroud) 我的问题最初是由一个错误引起的,这里突出显示.原来的问题现在已经解决了,但是这留下了一个关于如何在Python中进行导入的问题.以下是使用Django重现问题的快速步骤:
./manage.py startapp dummy_app在app中models.py定义一个函数和一个扩展Django模型的类,如下所示:
from django.db import models
# auxiliary function in models
def aux_function(value):
print(value)
class Report(models.Model):
class Meta:
managed = False
Run Code Online (Sandbox Code Playgroud)在新的app模块中__init__,导入aux_function如下所述:
from dummy_app.models import aux_function
Run Code Online (Sandbox Code Playgroud)INSTALLED_APPS并运行dev服务器这将导致异常:
File "/home/aanikeev/PycharmProjects/dummy/dummy_app/__init__.py", line 1, in <module>
from dummy_app.models import aux_function
File "/home/aanikeev/PycharmProjects/dummy/dummy_app/models.py", line 8, in <module>
class Report(models.Model):
File "/home/aanikeev/.virtualenvs/dummy/lib/python3.5/site-packages/django/db/models/base.py", line 110, in __new__
app_config = apps.get_containing_app_config(module)
File "/home/aanikeev/.virtualenvs/dummy/lib/python3.5/site-packages/django/apps/registry.py", line 247, in get_containing_app_config
self.check_apps_ready()
File "/home/aanikeev/.virtualenvs/dummy/lib/python3.5/site-packages/django/apps/registry.py", line …Run Code Online (Sandbox Code Playgroud) django ×5
python ×4
database ×1
django-1.8 ×1
django-1.9 ×1
django-2.0 ×1
import ×1
python-3.x ×1
startup ×1