一、模板类型错误:
错误原因:在models中漏掉了return:
class UserProfile(models.Model):
"""
功能说明: 扩展用户
---------------------------------------------------------------------------
修改人 修改时间 修改原因
------------------------------------------------------------------------------
BeginMan 2013-05-05
"""
user=models.OneToOneField(User,blank=True,null=True,related_name='user',verbose_name=_(u'用户'))
company_name=models.CharField(u'企业(或代理商)名称',max_length=30, default='未知') #企业商名称
product=models.ForeignKey(Product, blank=True,null=True,verbose_name=_(u'产品')) #产品
class Meta:
verbose_name = _(u'配置')
verbose_name_plural = _(u'用户配置')
def __unicode__(self):
【这里】_(u'%(user_name)s') % {'user_name':self.user.username}
这里加上return即可。
二、url相关错误
、静态文件无法访问,如样式出不来
css样式总出不来,折腾了一个多小时,原来,urlpatterns 写成这样:
urlpatterns = patterns('',
(r'^ $','login.msg.index'), #首页
)
#登录注册
urlpatterns = patterns('',
(r'^accounts/register/$','login.msg.register_page'), #注册
(r'^accounts/login/$','login.msg.login'), #登录
(r'^accounts/logout/$','django.contrib.auth.views.logout',{'next_page':'/'}), #Django提供一个专用于处理登出表单函数logout
(r'^accounts/register/success/$','django.views.generic.simple.direct_to_template',{'template':'registration/register_success.html'}), #注册成功
)
#admin后台管理
urlpatterns += patterns('',
(r'^admin/doc/', include('django.contrib.admindocs.urls')),
(r'^admin/', include(admin.site.urls)),
)
#静态文件的访问
urlpatterns += patterns('',
(r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_SITE}),
(r'^upload_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
)
我把 [登录注册] url后面也写成 = 而并非+= ,这就造成了url覆盖,所以就加载不了静态文件,同时首页也会打不开。
三、编码错误
、错误类型如下:
DjangoUnicodeDecodeError at /admin/books/book/
'ascii' codec can't decode byte 0xe8 in position 0: ordinal not in range(128). You passed in <Book: [Bad Unicode data]> (<class 'books.models.Book'>)
解决方案:
混淆了 python2 里边的 str 和 unicode 数据类型。
(0)、你需要的是让编码用实际编码而不是 ascii
(1)、对需要 str->unicode 的代码,可以在前边写上
import sys
reload(sys)
sys.setdefaultencoding('utf8')
把 str 编码由 ascii 改为 utf8 (或 gb18030)
(2)、python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii
参考:http://vososo.com/vo/558
四、其他错误
、Django POST请求错误forbidden(403) CSRF verification failed. Request aborted
在 settings.py 中的
MIDDLEWARE_CLASSES 设置下 添加
'django.middleware.csrf.CsrfResponseMiddleware',
重新 runserver. OK
重点参考:http://blog.csdn.net/feng88724/article/details/7221449
我用的是django1.2.3,当使用session时,也会像上面出错,这时把下面注释掉即可:
# 'django.middleware.csrf.CsrfViewMiddleware', #这段代码理应注释掉,在使用session的时候
、login:login() takes exactly 1 argument (2 given)
这在登录视图函数的时候特别常见,原因就是函数login与login模块的名字冲突,如登录url这样写:
(r'^account/login/$', 'login'), #登录
那么,对应的视图函数如下:
def login(request):
"""
功能说明: 登 录
------------------------------------------------------------
开发者 修改时间 修改原因
------------------------------------------------------------
beginman 2013-06-05
"""
if request.method == "POST":
try:
username = request.POST.get('username')
password = request.POST.get('password')
user = authenticate(username=username,password=password)
if user is not None:
if user.is_active:
login(request,user)
return HttpResponse('ok')
else:
return HttpResponse('error')
except Exception,e:
log.error("login:%s" % str(e))
return render_to_response('account/login.html')
当然如果这样写,不要忘记导入:
from django.contrib.auth import authenticate, login
这样就坏事了,因为出现了两个login.这就导致了上面的问题,解决办法有两个,
、修改login视图函数的名称和对应的url中。如webLogin
、导入设置:from ..login as _login 这样也行,别忘了都要改过来。
、无法跳转
如,我想登录。然后登录成功后跳转到主页,如上:把上面代码改写成这样
.....
if user.is_active:
login(request,user)
return HttpResponseRedirect('/')
....
但是却没有实现跳转,如下:
这里并不是跳转写错了,而是没有注意到我这个登录界面是ajax POST形式的,代码如下:
//登录
function _submit(){
var username = $("input[name='username']").val();
var password = $("input[name='password']").val();
if (username == ""){
art.dialog({content: '用户名不能为空',time :1.5});
}else if(password == ""){
art.dialog({content: '密码不能为空',time :1.5});
}else{
$.post('/account/login/',{'username':username,'password':password},function(data){
if (data =='error'){
art.dialog({content: '用户名或密码错误',time :1.5});
}
});
}
}
Query.post( url, [data], [callback], [type] ) :
如果返回,它只返回一个字符串。所以并不能在后台跳转。
解决方法是: return HttpResponse('ok'),通过接受返回的Ok 来在前台实现跳转。
相关推荐
解决方法: 1.首先你需要在自己的app下面创建2个目录 ... 您可能感兴趣的文章:django 解决自定义序列化返回处理数据为null的问题django queryset 去重 .distinct()说明django的403/404/500错误自定义页面的配置方式
Django book出错笔记 DjangoBook 书虽然经典 但是版本有些来 有些语法已经发生变化,该笔记在阅读过程中 对已经更新的地方做出相应修改
Django 中 ModelForm 多表单组合的解决方案 Django 是 Python 语言快速实现 web 服务的大杀器,其开发效率可以非常高!但是,Django 框架又太灵活,以至于想实现任何功能都有种“条条大路通罗马”的感觉。那么,在 ...
#### 一、项目创建后的常见问题及解决方案 ##### 1. 生成迁移文件 - **命令**:`python manage.py makemigrations` - **解释**:当你对模型进行了更改,并希望将这些更改应用到数据库时,需要先运行这个命令来生成...
Django学习常见错误解决方案 Django是一个流行的Python Web框架,提供了许多有用的功能和工具,但是刚开始学习Django的开发者可能会遇到一些常见的错误。以下是Django学习中常见的错误解决方案: 1. 应用没有显示...
项目概述:本项目是一个基于Python语言和Django框架的GraphQL集成解决方案,主要对Django中间件和异常处理进行了二次封装。项目共包含118个文件,涉及的主要编程语言为Python,同时包含HTML用于前端界面展示。文件...
找不到解决方案?去 FAQ:获取帮助 找找更多的帮助信息,也可以向社区寻求帮助。 在我们的 ticket tracker 报告关于 Django 的 Bug。 这份文档是如何组织的¶ Django 有丰富的文档。一份高度概述的文档会告诉你在...
django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...
Djankan 是一个灵活的看板解决方案,由流星插入 Django API 制成。 特征 - Drag-and-drop task 'cards' - realtime updating - custom lanes (priorities) - multiple boards - group cards with buckets - robust ...
Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django...
Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统...
CAS单点登录的方案很多,并且大多数都是采用session的方式,而本文结合个人实践,着重讨论django cas token的解决方案。 本方案中,cas客户端和服务端都采用了开源项目,服务端是django-mama-cas,而客户端是django-...
标题中的“简单了解django处理跨域请求最佳解决方案”是指在Django框架中处理来自不同源的HTTP请求,即跨域请求的问题。这个问题通常出现在前端应用(如JavaScript)尝试与不同域名、协议或端口的服务器进行通信时,...
### Django中的CSRF问题及其解决方案 #### 一、CSRF概念理解 CSRF,全称为Cross-Site Request Forgery(跨站请求伪造),是一种安全威胁,通常与另一种常见攻击手法XSS(Cross-Site Scripting,跨站脚本攻击)一起...
本项目是一个基于Python语言开发的Django项目,包含221个文件,主要文件类型包括图片、Python源代码、XML...系统设计旨在为用户提供一个高效、便捷的Django项目开发解决方案,以满足用户在Django项目开发方面的需求。
基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django...
计算机应用基于Django和Python的段内ERP系统兼容性问题解决方案.pdf
对于用户认证和授权,Django提供了一套完整的解决方案,包括用户模型、登录/注销功能以及权限管理。 项目还可能包含了静态文件(如CSS、JavaScript)和媒体文件(用户上传的图片等)。Django提供管理这些文件的方法...