我是python中的新手.今天当我写一些搜索功能时遇到错误.我使用sqlalchemy orm来做到这一点,在我的函数中,我输入一个中文单词作为关键词.html页面给我一个UnicodeEncodeError在/ user/search:'latin-1'编解码器不能编码位置0-1中的字符:序数不在范围内(256).我的代码是这样的:
def user_search(request):
name = request.GET.get('name').strip()
user_list = list()
if name:
user_list = User.get_by_name(name)
class User(object):
@classmethod
def get_by_name(cls, name):
return DBSession.query(cls).filter(cls.name==name)
Run Code Online (Sandbox Code Playgroud)
Traceback在这里:
Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/jiankong/git/admin-server/lib/decorators.py" in wrapper
75. return func(request, *args, **kwargs)
File "/home/jiankong/git/admin-server/lib/decorators.py" in wrapper
39. output = function(request, *args, **kwargs)
File "/home/jiankong/git/admin-server/apps/user/user_views.py" in user_search
47. users = jump_page(paginator, page)
File "/home/jiankong/git/admin-server/apps/user/utils.py" in jump_page
92. return paginator.page(1)
File "/usr/local/lib/python2.6/dist-packages/django/core/paginator.py" in page
37. number = self.validate_number(number)
File …Run Code Online (Sandbox Code Playgroud) 当我使用alembic来控制项目数据库的版本时,env.py中的部分代码如下:
# add your model's MetaData object here
# for 'autogenerate' support
# from myapp import mymodel
# target_metadata = mymodel.Base.metadata
from al_test.models import metadata
target_metadata = metadata
Run Code Online (Sandbox Code Playgroud)
当我运行'alembic revision --autogenerate -m"添加用户表"'时,我收到一个错误:文件"alembic/env.py",第18行,来自al_test.models导入元数据ImportError:没有名为al_test.models的模块
那怎么解决这个问题呢?谢谢!