Django 出现的一些异常


问题1

执行 django-admin.py startproject FirstSite 时,没有正确返回结果,而是出现了startproject的用法说明:

Usage: django-admin.py subcommand [options] [args]

........

很明显,这就是没有识别出命令的参数,可以通过修改注册表解决

HKEY_CLASSES_ROOT\py_auto_file\shell\open\command

把原来的"D:\Python32\python.exe" "%1"

修改为 "D:\Python32\python.exe" "%1" %*


问题2

在命令行输入 manage.py runserver,提示No module named django.core.management

我出现这个的原因,是因为同时安装了两个版本的python,然后卸载掉一个之后就恢复正常了


问题3

创建superuser时,输入的“yes” ,都提示输入非法,要我要么输yes要么输no,可我看来看去我都是正确的。。。

一番折腾之后终于解决了

D:\Python32\Lib\site-packages\django\contrib\auth\management\__init__.py

def create_superuser(app, created_models, verbosity, db, **kwargs):
    from django.core.management import call_command

    UserModel = get_user_model()

    if UserModel in created_models and kwargs.get('interactive', True):
        msg = ("\nYou just installed Django's auth system, which means you "
            "don't have any superusers defined.\nWould you like to create one "
            "now? (yes/no): ")
        confirm = input(msg).rstrip('\r')
        while 1:
            if confirm not in ('yes', 'no'):
                confirm = input('Please enter either "yes" or "no": ').rstrip('\r') 
		#input的后面追加上rstrip('\r'),过滤掉\r
                continue
            if confirm == 'yes':
                call_command("createsuperuser", interactive=True, database=db)
            break


通过调试发现,在cmd里面,input接受输入的时候,对于回车,只过滤了\n,没有过滤\t

所以输入的"yes"就变成了"yes\t",所以加上个过滤就好了。

同样的问题也出现在了其他地方,比如输入帐号邮箱的时候。

D:\Python32\Lib\site-packages\django\contrib\auth\management\commands\createsuperuser.py

在handle(self, *args, **options)方法里面

if default_username:
           input_msg = "%s (leave blank to use '%s')" % (
                                input_msg, default_username)
           #input后面增加rstrip,去除输入的字符串末尾\r字符
           raw_value = input(force_str('%s: ' % input_msg)).rstrip('\r')

while user_data[field_name] is None:
                        raw_value = input(force_str('%s: ' % capfirst(force_text(field.verbose_name)))).rstrip('\r')





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值