嗨,我正在研究Django项目,我需要创建一个输入表单.我试图导入reverse的django.core.urlresolvers.我收到一个错误:
line 2, in from django.core.urlresolvers import reverse ImportError: No module named 'django.core.urlresolvers'
Run Code Online (Sandbox Code Playgroud)
我使用的是Python 3.5.2,Django 2.0和MySQL.
所以,既然django正式支持Jinja 2作为模板引擎,我希望启用它就像在配置中切换一行一样简单.但是当我这样做时,jinja找不到我的模板.
我的理解是我可以手动配置目录列表以便查找模板,但我希望它的行为与默认情况下的DTL行为完全相同.(即查看/ templates目录).基本上,我的应用程序的结构与官方教程中的建议方式相同,我想在不改变任何其他内容的情况下使用jinja.可能吗?
这是我的setings.py文件现在的样子:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'APP_DIRS': True,
},
]
Run Code Online (Sandbox Code Playgroud)
我得到的错误是 TemplateDoesNotExist at /
这是我的目录结构:
mysite
mysite
myapp
templates
myapp
index.html
manage.py
Run Code Online (Sandbox Code Playgroud)
请注意,我希望不使用任何外部模块.
编辑:根据要求,这是调用模板的代码:
def index(request):
return render(request, 'myapp/index.html')
Run Code Online (Sandbox Code Playgroud) 我已经安装了 Django 1.9.7,我在 Ubuntu 上安装了 Python 3.4.3 和 2.7.10。
这些是我遵循的步骤:
django-admin startproject testprojectcd testproject/testprojectdjango-admin startapp testappmkdir testapp/templates并在其中添加了一个非常基本的index.html模板编辑settings.py将模板后端更改为django.template.backends.jinja2.Jinja2,通过编辑默认设置文件的第 57 行,并添加testproject.testapp到INSTALLED_APPS; TEMPLATES因此,该部分是这样的:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [],
'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',
],
},
},
]
Run Code Online (Sandbox Code Playgroud)已编辑urls.py、添加from testproject.testapp import views和 URL 模式url(r'^$', views.index),
编辑testapp/views.py添加
def index(request):
return render(request, …Run Code Online (Sandbox Code Playgroud)每次尝试访问 Django 模板中的列表时,都会收到此错误。我检查了类似问题的答案,但问题通常是%某处缺少字符或其他字符。据我所知,情况并非如此:
在这里,我传递了一个包含作为键的项目 id 列表和作为每个 id 值的图像 URL 列表的 dict。我知道我应该将它集成到项目模型中,但由于我仍在使用 SQLite3 进行开发,因此无法轻松存储列表。无论如何,我对这个问题很感兴趣。所以:
<a href="{% url 'details_view' item_id=item.id %}"><img class="hover-image" src="{{ img_gallery[item.id][0] }}" alt="">
Exception Value:
Could not parse the remainder: '['item.id'][0]' from 'img_gallery['item.id'][0]'
Run Code Online (Sandbox Code Playgroud)
另外,昨天我尝试使用 bootstrap4 flex-grid 轻松实现 5 列。由于我使用分页来检索 20 个项目,因此我的想法是对每一行的项目(模型)列表进行切片,例如:
{% for item in items[0:5] %}
Run Code Online (Sandbox Code Playgroud)
而且我也收到了同样的错误,即使这是相关答案中推荐的方法,aboput slicing data through a view.
在这两种情况下,我都找不到问题所在,我认为两者都有某种关联。
我正在使用最新的 Django 1.11.6 和 Python 3.5.2。