2014-03-27 86 views
1

我正在通过“Django的Python Web开发”与django1.1创建一个django应用'cms'。我在访问管理页面时遇到“TemplateSyntaxError”错误。Caught SyntaxError while rendering:无效语法

这里的回溯:

TemplateSyntaxError at /admin/ 
Caught SyntaxError while rendering: invalid syntax (views.py, line 18) 
Request Method: GET 
Exception Type: TemplateSyntaxError 
Exception Value:  
Caught SyntaxError while rendering: invalid syntax (views.py, line 18) 
Exception Location: D:\Program Files\python\lib\site-packages\django\utils\importlib.py   in import_module, line 35 
Python Executable: D:\Program Files\python\python.exe 
Python Version: 2.7.6 

我views.py是:

from django.shortcuts import render_to_response, get_object_or_404 
from django.db.models import Q 
from cms.models import Story, Category 
from markdown import markdown 
def category(request, slug): 
    category = get_object_or_404(Category, slug = slug) 
    story_list = Story.objects.filter(category=category) 
    heading = "Category: %s " % category.label 
    return render_to_response("cms/story_list.html", locals()) 
def search(request): 
    if "q" in request.GET: 
     term = request.GET['q'] 
     story_list = Story.objects.filter(Q(title__contains=term) | (markdown_content__contains=term)) 
     heading = "Search results" 
    return render_to_response("cms/story_list.html", locals()) 

线18 story_list = Story.objects.filter(Q(title__contains =项)|(markdown_content__contains = term))

and urls.py in cms:

from django.conf.urls.defaults import * 
from cms.models import Story 

info_dict = {'queryset': Story.objects.all(), 'template_object_name': 'story' } 

urlpatterns = patterns('django.views.generic.list_detail', 
    url(r'^(?P<slug>[-\w]+)/$', 'object_detail', info_dict, name="cms-story"), 
    url(r'^$', 'object_list', info_dict, name='cms-home'), 
) 
urlpatterns += patterns('cmsproject.cms.views', 
    url(r'^category/(?P<slug>[-\w]+)/$', 'category', name="cms-category"), 
    url(r'^search/$', 'search', name="cms-search"),    
) 

回答

1

你有18行,在那里你错过第二过滤器的Q类小错字:

它应该阅读:

story_list = Story.objects.filter(Q(title__contains=term) | Q(markdown_content__contains=term)) 
+0

谢谢你这么多它立刻工作! – Colin29

相关问题