V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
yss0729
V2EX  ›  Python

django view 中使用 session ,HttpResponse 不响应

  •  
  •   yss0729 · 2015-06-13 12:49:55 +08:00 · 2473 次点击
    这是一个创建于 3451 天前的主题,其中的信息可能已经有所发展或是发生改变。

    登录

    def login(request):
    username = None
    pwd =None;
    db = sqlhelper.sqlhelper()
    if request.method =='GET':
    username = request.GET['username']
    pwd = request.GET['pwd']
    result =db.executeReader('select count(*) as count from susers where userid =\'%s\' and password =\'%s\'' % (username,pwd))
    rtv = result[0][0]
    if(rtv==1):
    request.session['userid'] = username
    return HttpResponse(rtv)
    else:
    pass

    rtv 的值打印为1 但js客户端就是回调不了结果,如果我去掉session就可以接受的到,想不通是什么原因,session是没问题的,我赋值取值都OK,请前辈帮忙看看,前台js代码如下

    $(document).ready(function(){
    $('#login').click(function(){
    var username =$('#username').val();
    var pwd = $('#pwd').val();
    $.get("login",{'username':username,'pwd':pwd},function(ret){
    if(ret ==1){
    location.href = 'main';
    }else{
    alert('用户名或密码错误');
    }
    });

    });
        });
    
    8 条回复    2015-06-15 10:20:04 +08:00
    mornlight
        1
    mornlight  
       2015-06-13 14:14:14 +08:00
    你不说我都不相信这是Django...
    回调不了结果你应该先抓包看看返回值是什么,和你预期的返回值是否一致。
    hupeng
        2
    hupeng  
       2015-06-13 15:52:16 +08:00
    没缩进,完全没法看
    virusdefender
        3
    virusdefender  
       2015-06-13 18:41:28 +08:00 via Android
    这写的是什么鬼django代码,是这么用的么…先用浏览器开发者工具看下响应是什么
    yuyang
        4
    yuyang  
       2015-06-13 22:26:10 +08:00
    额滴神,这种写法真是开眼了。
    cbsw
        5
    cbsw  
       2015-06-13 22:42:35 +08:00
    我还是第一次见Django中这样使用db的,另外py代码不缩进根本没法看,所以扔到 gist 里再贴过来吧
    imlonghao
        6
    imlonghao  
       2015-06-14 21:08:10 +08:00
    Django 需要 db.executeReader 么?
    yss0729
        7
    yss0729  
    OP
       2015-06-15 10:02:00 +08:00
    @mornlight,@virusdefender ,@cbsw 呵呵, 让大家伙见笑啦, 因为之前不是做web的, 想做一个比较简单的维护工具, 也没有很复杂的业务逻辑, 后悔当时没有使用flask的, 我不需要用到orm框架 还有admin 包括我的数据库都是MSsql ,完全可以用asp.net 但个人真的不喜欢用微软那套东西, 另外根据你的方法我在响应信息里发现报出这个错误

    OperationalError at /login
    no such table: django_session

    字面意思, 是我需要建立一张session表? 这个表是数据表还是一张抽象的表?
    request.session 难道不是传统意义上存在于服务器运行周期里的session吗?
    yss0729
        8
    yss0729  
    OP
       2015-06-15 10:20:04 +08:00
    已经参考百度了, 执行了
    python manage.py syncdb (个人觉得,这个比较坑,session组件还要安装)
    这个后就好了, 谢谢各位大神
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2842 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:51 · PVG 21:51 · LAX 05:51 · JFK 08:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.