我放弃了。无论我怎么努力,我都无法解决这个错误。 (我在这里查看了旧问题:Django attribute error. 'module' object has no attribute 'rindex'但没有更好的结果。)
我正在使用Django 1.6.1和Python 2.7.3。
我的应用名为'pret',一切正常,直到我安装了一个新的包(qrcode2.0)并且必须在Eclipse中重新配置Python解释器。解释器适用于Django,我可以创建新项目。
追溯是:
Environment:
Request Method: GET
Request URL: http://127.0.0.1:8000/pret/
Django Version: 1.6.1
Python Version: 2.7.3
Installed Applications:
('django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.admin',
'pret')
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware')
Template error:
In template /home/arthur/workspace/PretD/pret/templates/pret/index.html, error at line 12
'module' object has no attribute 'rindex'
12 : <p>Vers la page de <a href=" {% url 'login' %} ">login</a>.<br/>
项目中我的urls.py如下:
from django.conf.urls import patterns, include, url
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^pret/', include('pret.urls')),
)
我在应用程序中的urls.py如下:
from django.conf.urls import patterns, url
from pret import views
urlpatterns = patterns('',
url(r'^$', views.index, name='index'),
url(r'^menu/$', views.menu, name='menu'),
url(r'^login/$', views.loginn, name='login'),
#Others url follow, with the same pattern
)
最后我的views.py是:
from decimal import Decimal, InvalidOperation
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.models import User
from django.core.mail import send_mail
from django.http import HttpResponse
from django.shortcuts import redirect
from django.template import RequestContext, loader
from itertools import chain
def loginn(request):
template = loader.get_template('pret/login.html')
#Blablabla, some code here
context = RequestContext(request, {
'msg_log' : msg_log,
'msg_redirect' : msg_redirect})
return HttpResponse(template.render(context))
#Others views follow
整个index.html,如果它以任何方式有趣(法语单词,yay!):
{% load url from future %}
<html>
<head>
<title>Mines Pret - Accueil</title>
<link rel="stylesheet" type="text/css" media="all" href="{{ STATIC_URL }}css/main.css" />
<meta charset="utf-8" />
</head>
<body>
<h1>{{test}}</h1>
<p>Vous vous trouvez sur la page d'accueil du site.</p>
<p>Vers la page de <a href="{% url 'login' %}">login</a>.<br/>
Vers la page <a href="{% url 'inscription' %}">d'inscription</a>.</p>
</body>
</html>
我试过
{% url 'pret:login' %}
以及根据https://docs.djangoproject.com/en/1.6/ref/templates/builtins/#url
的其他变体请记住,我在“loginn”中重命名了我的视图“login”,以避免与Django中内置的“login”方法进行混淆。但是,urls.py中的name =“login”属性似乎可以完成这项工作。 AttributeError与所有其他视图一起引发(例如“铭文”)
非常感谢您的帮助,Stackoverflow社区已多次帮助过。