Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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
无法在views.py#python#django中导入模型_Python_Django_Django Models_Django Views - Fatal编程技术网

无法在views.py#python#django中导入模型

无法在views.py#python#django中导入模型,python,django,django-models,django-views,Python,Django,Django Models,Django Views,Django-Python views.py 只是当我尝试导入“Post”模型时,出现了此错误,无法访问任何页面。 如果我不在views.py中导入任何模型,一切看起来都很好。 你能帮我解决这个问题吗 from .models import Post def home_view(request): latest_posts = Post.objects.order_by('pub_date')[:3] return render(request, 'home.html', {'

Django-Python


views.py 只是当我尝试导入“Post”模型时,出现了此错误,无法访问任何页面。
如果我不在views.py中导入任何模型,一切看起来都很好。
你能帮我解决这个问题吗

from .models import Post
def home_view(request):
    latest_posts = Post.objects.order_by('pub_date')[:3]
    return render(request, 'home.html', {'Latest': latest_posts})

models.py
apps.py
设置.py
url.py
您的
ForeignKey
的删除设置错误
True
不是有效选项。请参阅以设置有效选项。如果要在删除外键时删除,请使用
models.CASCADE


另外,您安装的应用程序是
posts
。在您的
URL
中,您正在
从src.posts.views导入
。试着摆脱
src.
它应该可以解决你的问题。

我已经通过代码美化中的标签移除空格来解决了它,并且它可以工作了

你添加了应用程序名吗(这里是
'posts'
)在你的
settings.py
文件中的
INSTALLED_APPS
中?是的,我将其添加到settings.py,一切正常,但当我尝试在views.py中导入模型时,它会给我该错误。
这是在settings.py中安装的_APPS:`INSTALLED_APPS=['django.contrib.admin'、'django.contrib.auth'、'django.contrib.contenttypes'、'django.contrib.sessions'、'django.contrib.messages'、'django.contrib.staticfiles'、'posts']`@WillemVanOnsemis your
views.py
在同一个目录中?尝试从posts.models import Post
我尝试过,但没有改变@PankajSharmaI仍然有相同的错误消息:“已安装的应用程序”。%(模块,名称)运行时错误:模型类src.posts.models.Author没有声明显式的app_标签,并且不在已安装的app_应用程序中。是否运行迁移?是的,我删除了所有迁移文件并执行
python manage.py makemigrations
,然后执行
python manage.py migrate
,但添加时仍然存在相同的问题ode>from.models导入Post
到views.py文件。
from django.db import models

# Create your models here.


class Author(models.Model):
    name = models.CharField(max_length=120)
    brief_life = models.TextField(blank=True, null=True)
    Date_of_birth = models.DateField()

    def __str__(self):
        return self.name


class Type(models.Model):
    name = models.CharField(max_length=120, unique=True)
    description = models.TextField(blank=True, null=True)

    def __str__(self):
        return self.name


class Post(models.Model):
    title = models.CharField(max_length=120, unique=True)
    description = models.TextField(blank=True, null=True)
    price = models.DecimalField(decimal_places=2, max_digits=10000)
    pub_date = models.DateField()
    copy_num = models.IntegerField(default=1)
    for_buy = models.BooleanField(default=True)
    author = models.ForeignKey(Author, on_delete=True)
    p_type = models.ForeignKey(Type, on_delete=True)

    def __str__(self):
        return self.title
from django.apps import AppConfig
class PostsConfig(AppConfig):
    name = 'posts'
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'posts',
]



MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

ROOT_URLCONF = 'project.urls'
TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

WSGI_APPLICATION = 'project.wsgi.application'
from django.conf import settings
from django.conf.urls.static import static
from django.contrib import admin
from django.urls import path

from src.posts.views import home_view, about_view, details_view, post_info_view

urlpatterns = [
    path('', home_view, name='home'),
    path('about/', about_view, name='about'),
    path('details/', details_view, name='details'),
    path('info/', post_info_view, name='info'),
    path('admin/', admin.site.urls),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)