0

我是 Django 新手,对应用程序结构和导入有疑问。我的项目结构如下所示(来自deploydjango.com):

root/
     manage.py
     mysite/
         __init__.py
         urls.py
         wsgi.py
         settings/
         apps/
             __init__.py
             profile
                 __init__.py
                 models.py
                 views.py
             video
                 __init__.py
                 models.py
                 views.py
             photos
                 __init__.py
                 models.py
                 views.py

基本上我会在我的网站上有一些个人资料,然后每个个人资料都有许多上传的照片和视频。所以在我的视频模型中,我有以下代码:

from django.db import models
from XXXXX import Profile

class Video(models.Model):
    # more fields
    company = models.ForeignKey(Profile, related_name='videos')

如何导入配置文件模型以在视频模型中使用?还是我的结构不合适..?什么是最好的做法?

4

1 回答 1

1

我认为你的结构很好。基本上,python 的模块只是一个 python 文件,您可以像这样导入它:import <filename>并且您将导入它的功能。但是,当您将一些 python 文件分组到一个文件夹中并在该文件夹中包含一个名为init .py 的文件时,您就有了一个 python 包。With 是管理一组模块的更好方法,它允许在您的导入中使用点表示法。如您所见,Django 应用程序的行为类似于包。

如果你想Profile在你的video模块中导入,那么你必须这样做:

from profile.models import Profile

也就是说,假设Profile模型是在您的profile应用程序中定义的models.py. 应该这样做。

如果您想了解有关 python 项目结构的更多信息,是一个好地方。

于 2013-04-30T13:11:28.360 回答