Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Image 摇尾>;将gallery_图像添加到多个应用程序(页面模型实例)_Image_Wagtail - Fatal编程技术网

Image 摇尾>;将gallery_图像添加到多个应用程序(页面模型实例)

Image 摇尾>;将gallery_图像添加到多个应用程序(页面模型实例),image,wagtail,Image,Wagtail,我遵循了教程 并添加到我的博客应用程序class BlogPageGalleryImage(可订购):然后def main_image(self):添加到class BlogPage(Page):中,效果良好。 但我还有两个应用程序(项目和事件),页面实例类似于博客,不能以同样的方式添加图库。 我应该在Page类本身中实现gallery吗 我有4个应用程序(blog、about、events、projects),模型定义中分别有*IndexPage、*Page、*pagegalleryimage

我遵循了教程 并添加到我的博客应用程序
class BlogPageGalleryImage(可订购):
然后
def main_image(self):
添加到
class BlogPage(Page):
中,效果良好。
但我还有两个应用程序(项目事件),页面实例类似于博客,不能以同样的方式添加图库。 我应该在Page类本身中实现gallery吗

我有4个应用程序(blog、about、events、projects),模型定义中分别有*IndexPage、*Page、*pagegalleryimage

例如,在事件应用程序的models.py中,我定义了

class EventPageGalleryImages(Orderable): 
    page = ParentalKey(EventPage, on_delete=models.CASCADE, related_name='gallery_images') 
    image = models.ForeignKey( 'wagtailimages.Image', on_delete=models.CASCADE, related_name='+' ) 
    caption = models.CharField(blank=True, max_length=250) 
    panels = [ ImageChooserPanel('image'), FieldPanel('caption'), ]
但是我通过makemigrations得到了一个错误:

(ma_env) ➜  ma_app git:(0.15) ✗ ./manage.py runserver
Watching for file changes with StatReloader
Exception in thread django-main-thread:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 109, in inner_run
    autoreload.raise_last_exception()
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/utils/autoreload.py", line 77, in raise_last_exception
    raise _exception[1]
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/core/management/__init__.py", line 337, in execute
    autoreload.check_errors(django.setup)()
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/utils/autoreload.py", line 54, in wrapper
    fn(*args, **kwargs)
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/apps/registry.py", line 114, in populate
    app_config.import_models()
  File "/home/DEV/ma_env/lib/python3.6/site-packages/django/apps/config.py", line 211, in import_models
    self.models_module = import_module(models_module_name)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/DEV/ma_app/events/models.py", line 24, in <module>
    class EventPage(Page):
  File "/home/DEV/ma_app/events/models.py", line 53, in EventPage
    class EventPageGalleryImages(Orderable):
  File "/home/DEV/ma_app/events/models.py", line 54, in EventPageGalleryImages
    page = ParentalKey(EventPage, on_delete=models.CASCADE, related_name='gallery_images')
NameError: name 'EventPage' is not defined
(马乌环境)➜  马欧应用吉特:(0.15)✗ ./manage.py运行服务器
使用StatReloader监视文件更改
线程django主线程中出现异常:
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python3.6/threading.py”,第916行,在内部引导中
self.run()
文件“/usr/lib/python3.6/threading.py”,第864行,运行中
自我目标(*自我参数,**自我参数)
文件“/home/DEV/ma_env/lib/python3.6/site packages/django/utils/autoreload.py”,第54行,在包装器中
fn(*args,**kwargs)
文件“/home/DEV/ma_env/lib/python3.6/site packages/django/core/management/commands/runserver.py”,第109行,在内部运行
autoreload.raise\u last\u异常()
文件“/home/DEV/ma_env/lib/python3.6/site packages/django/utils/autoreload.py”,第77行,在raise\u last\u异常中
raise_异常[1]
文件“/home/DEV/ma_-env/lib/python3.6/site-packages/django/core/management/_-init___;.py”,第337行,在execute中
自动加载检查错误(django.setup)()
文件“/home/DEV/ma_env/lib/python3.6/site packages/django/utils/autoreload.py”,第54行,在包装器中
fn(*args,**kwargs)
文件“/home/DEV/ma_env/lib/python3.6/site packages/django/_init__.py”,第24行,在安装程序中
应用程序。填充(设置。已安装的应用程序)
文件“/home/DEV/ma_env/lib/python3.6/site packages/django/apps/registry.py”,第114行,在填充中
app_config.import_models()
文件“/home/DEV/ma_env/lib/python3.6/site packages/django/apps/config.py”,第211行,在导入模型中
self.models\u module=导入模块(models\u module\u name)
文件“/usr/lib/python3.6/importlib/_init_uuu.py”,第126行,在导入模块中
return _bootstrap._gcd_import(名称[级别:],包,级别)
文件“”,第994行,在_gcd_导入中
文件“”,第971行,在_find_和_load中
文件“”,第955行,在“查找”和“加载”中解锁
文件“”,第665行,在“加载”中
exec_模块中第678行的文件“”
文件“”,第219行,在“调用”中,删除了“帧”
文件“/home/DEV/ma_app/events/models.py”,第24行,在
类事件页(第页):
EventPage中第53行的文件“/home/DEV/ma_app/events/models.py”
类EventPageGalleryImage(可订购):
EventPageGalleryImage中的文件“/home/DEV/ma_app/events/models.py”,第54行
page=ParentalKey(EventPage,on_delete=models.CASCADE,related_name='gallery\u images')
NameError:未定义名称“EventPage”

从堆栈跟踪的最后几行,看起来您已经在
EventPage
的定义中定义了
eventpagegalleryimage

class EventPage(Page):
    # ...

    class EventPageGalleryImages(Orderable):
        page = ParentalKey(EventPage, on_delete=models.CASCADE, related_name='gallery_images') 
        # ...

这是失败的,因为您在
ParentalKey
定义中引用了
EventPage
,但是
EventPage
的定义尚未完成。从第二个类定义中删除缩进应该可以解决这个问题。

“不能以相同的方式向它们添加库”-为什么不?当你尝试时会发生什么?嗨gasman,谢谢你的摇尾!!!我有4个应用程序(blog、about、events、projects),模型定义中分别有*IndexPage、*Page、*pagegallerymages。噢,python真是个愚蠢的错误。:/谢谢!(我已经回答了,但是我没有看到这里的帖子。)