首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TemplateDoesNotExist at /groups/ .groups/group_base.html;模板加载器后期检查

TemplateDoesNotExist at /groups/ .groups/group_base.html;模板加载器后期检查
EN

Stack Overflow用户
提问于 2020-10-03 18:47:05
回答 1查看 116关注 0票数 0

我一直收到这个错误:

代码语言:javascript
复制
    TemplateDoesNotExist at /groups/ 
    
    groups/group_base.html

Template-loader postmortem
    
    Error during template rendering

需要注意的是,这篇文章来自一个教程,该教程使用的是django和python的旧版本,但我使用的是它们的最新版本。

它似乎在group_base.html的第一行出现了问题:

{%扩展"groups/group_base.html“%}

这是group_base.html

simplesocial/groups/templates/groups/group_base.html

代码语言:javascript
复制
{% extends 'base.html' %}
{% block content %}
  <div class="container">
    <div class="row">
      {% block pregroup %}{% endblock %}
      {% block group_content %}{% endblock %}
      {% block postgroup %}{% endblock %}
    </div>
  </div>
{% endblock %}

idk如果问题出在urls.py上:

simplesocial/groups/template/urls.py

代码语言:javascript
复制
#GROUPS URL.PY

from django.conf.urls import url
from groups import views

app_name = 'groups'

urlpatterns = [
    url(r'^$', views.ListGroups.as_view(), name='all'),
    url(r'^new/$', views.CreateGroup.as_view(), name='create'),
    url(r'^posts/in/(?P<slug>[-\w]+)/$', views.SingleGroup.as_view(), name='single'),
    url(r'^join/(?P<slug>[-\w]+)/$', views.JoinGroup.as_view(), name='join'),
    url(r'^leave/(?P<slug>[-\w]+)/$', views.LeaveGroup.as_view(), name='leave'),
]

或者,如果它在视图中:

simplesocial/groups/views.py:

代码语言:javascript
复制
from django.shortcuts import render
from django.contrib import messages
# Create your views here.
from django.contrib.auth.mixins import (LoginRequiredMixin,
                                        PermissionRequiredMixin)


from django.core.urlresolvers import reverse
from django.views import generic
from django.shortcuts import get_object_or_404
from groups.models import Group, GroupMember
# from groups import models

class CreateGroup(LoginRequiredMixin, generic.CreateView):
    fields = ('name', 'description') #This is related to the Group model
    model = Group

class SingleGroup(generic.DetailView):
    model = Group

class ListGroups(generic.ListView):
    model = Group

class JoinGroup(LoginRequiredMixin, generic.RedirectView):
    def get_redirect_url(self, *args, **kwargs):
        return reverse('groups:single',kwargs={'slug':self.kwargs.get('slug')})

    def get(self, request, *args, **kwargs):
        group = get_object_or_404(Group, slug=self.kwargs.get('slug'))
        try:
            GroupMember.objects.create(user=self.request.user, group=group) #this group is linked to the group instantiated above.
        except IntegrityError:
            messages.warning(self.request, 'Warning already a member!')
        else:
            messages.success(self.request,'You are now a member!')

        return super().get(request, *args, **kwargs)

class LeaveGroup(LoginRequiredMixin, generic.RedirectView):
    def get_redirect_url(self, *args, **kwargs):
        return reverse('groups:single',kwargs={'slug':self.kwargs.get('slug')})

    def get(self, request, *args, **kwargs):
        try:
            # membership = models.GroupMember.objects.filter(
            membership = GroupMember.objects.filter(
                user=self.request.user,
                group__slug=self.kwargs.get('slug')
            ).get()
        #except models.GroupMember.DoesNotExist:
        except GroupMember.DoesNotExist:
            messages.warning(self.request, 'Sorry, you are not in this group!')
        else:
            membership.delete()
            messages.success(self.request, 'You have left the group')
        return super().get(request, *args, **kwargs)

下面是回溯:

代码语言:javascript
复制
Environment:


Request Method: GET
Request URL: http://127.0.0.1:8000/groups/

Django Version: 3.1.1
Python Version: 3.8.3
Installed Applications:
['django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'bootstrap3',
 'accounts',
 'groups',
 'posts']
Installed 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']

Template loader postmortem
Django tried loading these templates, in this order:

Using engine django:
    * django.template.loaders.filesystem.Loader: /Users/homepage/Desktop/My_Django_Stuff/simple_social_clone/simplesocial/templates/groups/group_base.html (Source does not exist)
    * django.template.loaders.app_directories.Loader: /Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/contrib/admin/templates/groups/group_base.html (Source does not exist)
    * django.template.loaders.app_directories.Loader: /Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/contrib/auth/templates/groups/group_base.html (Source does not exist)
    * django.template.loaders.app_directories.Loader: /Users/homepage/opt/anaconda3/lib/python3.8/site-packages/bootstrap3/templates/groups/group_base.html (Source does not exist)
    * django.template.loaders.app_directories.Loader: /Users/homepage/Desktop/My_Django_Stuff/simple_social_clone/simplesocial/accounts/templates/groups/group_base.html (Source does not exist)
    * django.template.loaders.app_directories.Loader: /Users/homepage/Desktop/My_Django_Stuff/simple_social_clone/simplesocial/groups/templates/groups/group_base.html (Source does not exist)
    * django.template.loaders.app_directories.Loader: /Users/homepage/Desktop/My_Django_Stuff/simple_social_clone/simplesocial/posts/templates/groups/group_base.html (Source does not exist)


Template error:
In template /Users/homepage/Desktop/My_Django_Stuff/simple_social_clone/simplesocial/groups/templates/groups/group_list.html, error at line 1
   groups/group_base.html
   1 :  {% extends "groups/group_base.html" %} 
   2 : 
   3 : {% block pregroup %}
   4 :   <div class="col-md-4">
   5 :     <div class="content">
   6 :       {% if user.is_authenticated %}
   7 :         <h2>Welcome Back!
   8 :           <a href="{% url 'posts:for_user' username=user.username %}">
   9 :             @{{user.username}}
   10 :           </a>
   11 :         </h2>


Traceback (most recent call last):
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/backends/django.py", line 61, in render
    return self.template.render(context)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/base.py", line 170, in render
    return self._render(context)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/base.py", line 162, in _render
    return self.nodelist.render(context)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/base.py", line 938, in render
    bit = node.render_annotated(context)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/base.py", line 905, in render_annotated
    return self.render(context)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/loader_tags.py", line 127, in render
    compiled_parent = self.get_parent(context)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/loader_tags.py", line 124, in get_parent
    return self.find_template(parent, context)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/loader_tags.py", line 103, in find_template
    template, origin = context.template.engine.find_template(
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/engine.py", line 129, in find_template
    raise TemplateDoesNotExist(name, tried=tried)

The above exception (groups/group_base.html) was the direct cause of the following exception:
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
    response = get_response(request)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/core/handlers/base.py", line 202, in _get_response
    response = response.render()
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/response.py", line 105, in render
    self.content = self.rendered_content
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/response.py", line 83, in rendered_content
    return template.render(context, self._request)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/backends/django.py", line 63, in render
    reraise(exc, self.backend)
  File "/Users/homepage/opt/anaconda3/lib/python3.8/site-packages/django/template/backends/django.py", line 84, in reraise
    raise new from exc

Exception Type: TemplateDoesNotExist at /groups/
Exception Value: groups/group_base.html

thnx

EN

回答 1

Stack Overflow用户

发布于 2020-10-03 19:35:55

group_list.html的第1行,尝试使用:

{% extends "group_base.html" %}

告诉我它有没有用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64183366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档