Python Django积垢模板未显示

Python Django积垢模板未显示,python,django,Python,Django,我正在使用类实例制作CRUD应用程序。 我的应用程序是一个非常简单的会计应用程序: Django:3.03 Python:3.8.0 accounts/models.py class Project(models.Model): ## normal fields accounts/views.py class ProjectCreate(CreateView): model = Project fields = '__all__' class ProjectUpdat

我正在使用类实例制作CRUD应用程序。 我的应用程序是一个非常简单的会计应用程序:

Django:3.03 Python:3.8.0

accounts/models.py

class Project(models.Model):
    ## normal fields
accounts/views.py

class ProjectCreate(CreateView):
    model = Project
    fields = '__all__'

class ProjectUpdate(UpdateView):
    model = Project
    fields = '__all__'

class ProjectDelete(DeleteView):
    model = Project
    success_url = reverse_lazy('project')
accounts/url.py:

urlpatterns = [

path('project/create/', project_views.ProjectCreate.as_view(), name='project_create'),
    path('project/<int:pk>/update/', project_views.ProjectUpdate.as_view(), name='project_update'),
    path('project/<int:pk>/delete/', project_views.ProjectDelete.as_view(), name='project_delete'),

]
当我调用视图时:

我得到以下错误:

47, in select_template
    raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain)
django.template.exceptions.TemplateDoesNotExist: accounts/project_form.html
settings.py:

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.contrib.auth.context_processors.auth',
                'django.template.context_processors.debug',
                'django.template.context_processors.static',
                'django.template.context_processors.tz',
                'django.contrib.messages.context_processors.messages',
                'accounts.utils.accounts_vars',
            ],
        },
    },
]
我不明白为什么这不起作用。你能帮忙吗。
任何帮助都将不胜感激。谢谢。

检查您的settings.py文件


视图无法呈现模板。在settings.py中提及templates目录,并检查模板是否存在

您没有告诉视图要使用哪个模板。您可以通过在视图中设置template_name参数来完成此操作,例如:

class ProjectUpdate(UpdateView):  
      model = Project 
      fields = '__all__'
      template_name = 'project/project_form.html

应该是
/accounts/templates/accounts/project_form.html
还可以检查您的设置模板设置为:templates=[{'BACKEND':'django.template.backends.django.django templates','DIRS':[],'APP_DIRS':True','OPTIONS':{'context_processors':['django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages','account.utils.account_vars',],},},},]看看我评论的第一部分。Ivan,实际的文件夹布局与您建议的完全一样(这是我的错误,我没有在我原来的帖子中写完整的文件夹路径)。你写了,你的文件夹结构不是我说的。在“模板”下你有“项目”,而不是“帐户”。我可以这样做。但是我会在视图中硬编码模板文件。这不对吗?这至少是中所述的标准方法。CBV的
get\u template\u names
方法有一个特定的算法,用于在未提供名称的情况下查找模板。但是您的模板没有所需的名称模式(app_name/modelname_suffix.html)我并不认为你不传递模板名称有什么好处。我已经在评论中发布了模板设置。我认为我使用了正确的模板设置
class ProjectUpdate(UpdateView):  
      model = Project 
      fields = '__all__'
      template_name = 'project/project_form.html