UnicodeDecodeError: 'gbk' codec cyte sequence

来源:2-3 视图的讲解

LOCALHOST90990

2021-06-07

项目路由:
from django.contrib import admin
from django.urls import path,include
from app1 import urls as app1_urls

urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘app1/’,include(app1_urls))
]

应用路由:
from django.urls import path#2.0之后的版本
from app1.views import Index

urlpatterns = [
#url(’’, index1),
#path(‘str:name/int:age/’, index2)
path(‘a/str:name/int:age’, Index.as_view,name=‘index’)
]

应用视图:
#coding:utf-8
from django.http import HttpResponse
from django.views.generic import View #一个神奇的基类

class Index(View): #面向对象法
def get(self,request,name,age):
return HttpResponse(‘i am {0},tii{1}ss’.format(name,age))


启动服务器 输入网址:
http://127.0.0.1:8000/app1/a/s/2
出现提示:A server error occurred. Please contact the administrator.
cmd终端报错:
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xa6 in position 9737: illegal multibyte
sequence
[07/Jun/2021 14:15:08] “GET /app1/a/s/2 HTTP/1.1” 500 59
请问老师如何解决?ps形参是有尖括号的 复制之后没显示 请忽略

写回答

1回答

LOCALHOST90990

提问者

2021-06-07

老师我的形参是有尖括号的 复制之后显示不出来 

0
4
deweizhang
回复
LOCALHOST90990
我们拿 path(‘a/str:name/int:age’, Index.as_view,name=‘index’) 这句话来举例, 首先 Index.as_view(), 是这样书写的, 不带括弧是单纯的函数, 没有执行. 另外 gbk的意思是你当前使用的是非utf8的编码格式, 有2种可能:1是是否在windows, 是否用txt改的py, 如果是, 这种文件模式不是utf-8, 2 是 你的代码里哪里使用了中文输出, 但你又没有进行编码格式的兼容 比如 第一行需要加上 coding:utf-8. 另外 你as_view() takes 1 positional argument but 2 were given, 的问题是这样的: 这是一个比较单纯的python错误, 大概意思是说, 这个函数只支持一个参数,但你给了两个, 这个as_view应该是 我们写好的 视图类调用的函数,他的第一个函数其实就是self,里边不用再传递参数, 所以参考一下是否是自己传了多余参数造成的~
2021-06-07
共4条回复

Django入门到进阶-适合Python小白的系统课程

入门Django的同时,让你形成更贴近实际工作的Python Web开发知识体系

1114 学习 · 464 问题

查看课程