10.31编程总结

1.django手动创建数据库

DROP TABLE IF EXISTS `wish_account`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `wish_account` (
  `idwish_account` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL,
  `client_id` varchar(200) DEFAULT NULL,
  `client_secret` varchar(200) DEFAULT NULL,
  `access_token` varchar(200) DEFAULT NULL,
  `refresh_token` varchar(200) DEFAULT NULL,
  `merchant_user_id` varchar(2000) DEFAULT NULL,
  PRIMARY KEY (`idwish_account`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `wish_account`
--

LOCK TABLES `wish_account` WRITE;
/*!40000 ALTER TABLE `wish_account` DISABLE KEYS */;
INSERT INTO `wish_account` VALUES (1,'Wish','5742b508d75bc459376b7fd0','d76f895e09314be6832f4310750d08f7','b4c9ee9633c84ec59ab8c6f8afe78808','3c84745a2c264ec8b999d540e4c97128','5567d485d8a40b19e85363e4');
/*!40000 ALTER TABLE `wish_account` ENABLE KEYS */;
UNLOCK TABLES;

2.django常用的基本命令*重点重点啊

Django 基本命令

本节主要是为了让您了解一些django最基本的命令,请尝试着记住它们,并且多多练习下,特别是标记为红色的那些
1. 新建一个 django project
django-admin.py startproject project-name

一个 project 为一个项目,project-name 项目名称,改成你自己的,要符合Python 的变量命名规则(以下划线或字母开头)
2. 新建 app
python manage.py startapp app-name
或 django-admin.py startapp app-name

一般一个项目有多个app, 当然通用的app也可以在多个项目中使用。
3. 同步数据库
python manage.py syncdb

注意:Django 1.7.1及以上的版本需要用以下命令
python manage.py makemigrations
python manage.py migrate

这种方法可以创建表,当你在models.py中新增了类时,运行它就可以自动在数据库中创建表了,不用手动创建。

备注:对已有的 models 进行修改,Django 1.7之前的版本的Django都是无法自动更改表结构的,不过有第三方工具 south,详见 Django 数据库迁移 一节。
4. 使用开发服务器

开发服务器,即开发时使用,一般修改代码后会自动重启,方便调试和开发,但是由于性能问题,建议只用来测试,不要用在生产环境。
python manage.py runserver

# 当提示端口被占用的时候,可以用其它端口:
python manage.py runserver 8001
python manage.py runserver 9999
(当然也可以kill掉占用端口的进程)

# 监听所有可用 ip (电脑可能有一个或多个内网ip,一个或多个外网ip,即有多个ip地址)
python manage.py runserver 0.0.0.0:8000
# 如果是外网或者局域网电脑上可以用其它电脑查看开发服务器
# 访问对应的 ip加端口,比如 http://172.16.20.2:8000
5. 清空数据库
python manage.py flush

此命令会询问是 yes 还是 no, 选择 yes 会把数据全部清空掉,只留下空表。
6. 创建超级管理员
python manage.py createsuperuser

# 按照提示输入用户名和对应的密码就好了邮箱可以留空,用户名和密码必填

# 修改 用户密码可以用:
python manage.py changepassword username
7. 导出数据 导入数据
python manage.py dumpdata appname > appname.json
python manage.py loaddata appname.json

关于数据操作 详见:数据导入数据迁移,现在了解有这个用法就可以了。
8. Django 项目环境终端
python manage.py shell

如果你安装了 bpython 或 ipython 会自动用它们的界面,推荐安装 bpython。

这个命令和 直接运行 python 或 bpython 进入 shell 的区别是:你可以在这个 shell 里面调用当前项目的 models.py 中的 API,对于操作数据,还有一些小测试非常方便。
9. 数据库命令行
python manage.py dbshell

Django 会自动进入在settings.py中设置的数据库,如果是 MySQL 或 postgreSQL,会要求输入数据库用户密码。

在这个终端可以执行数据库的SQL语句。如果您对SQL比较熟悉,可能喜欢这种方式。
10. 更多命令
终端上输入 python manage.py 可以看到详细的列表,在忘记子名称的时候特别有用。

3.退出shell命令的总结

用途说明

exit命令用于退出当前shell,在shell脚本中可以终止当前脚本执行。


常用参数

格式:exit n

退出。设置退出码为n。(Cause the shell to exit with a status of n.)



格式:exit

退出。退出码不变,即为最后一个命令的退出码。(If n is omitted, the exit status is that of the  last  command executed. )



格式:$?

上一个命令的退出码。



格式:trap "commands" EXIT

退出时执行commands指定的命令。( A trap on EXIT is executed before the shell terminates.)



退出码(exit status,或exit code)的约定:

0表示成功(Zero - Success)

非0表示失败(Non-Zero  - Failure)

2表示用法不当(Incorrect Usage)

127表示命令没有找到(Command Not Found)

126表示不是可执行的(Not an executable)

>=128 信号产生

4.MySQL更新中文列:1366Incorrectstringvalue问题解决

解决:

1、数据库schema字符集设置为utf-8

2、表字符集设置为utf-8

3、中文列字符集设置为utf-8

4、连接url里面已经指定了CharsetEncode=utf8

第4步非常关键。

备注:

1、看数据库字符集

show create database test;

2、看数据表字符集
show create table t_data;

3.某个字段报错就改字符编码

 alter table users modify username char(20) character set utf-8; 

5.ajax模板

$.ajax({
          url: "/yapush/wish/get_wish_count/",
          type: "POST",
          datatype: "json",
          data: {"csrfmiddlewaretoken": csrf_token},
          success: function (result) {
              var result = JSON.parse(result)
              console.log(result)
              $.each(result, function (index, value) {
                  $("#wish_stores_id").append("
  • "+value+"
  • "
    ); }) }, error: function (emsg) { console.log(emsg); } })

    你可能感兴趣的:(日报,编程总结)