20170417学习记录

Django部分

Django Model:每一个Django Model都继承自django.db.models.Model,在Model当中每一个属性attribute都代表一个database field,通过Django Model API可以执行数据库的增删改查, 而不需要写一些数据库的查询语句

设置MySQL数据库的方法:

在setting.py里面设置

# used MySQL
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'csdn_test1',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

 

通过models.py设置数据库内的数据类型,然后执行命令

#生成数据库内容,执行更新

$ python manage.py migrate #命令行运行该命令

$ python manage.py makemigrations 

#进入命令行模式

$ python manage.py shell

from article.models import Article

>>> #all和get的数据库查看操作
>>> Article.objects.all()  #查看全部对象, 返回一个列表, 无对象返回空list
[<Article: Article object>, <Article: Article object>]
>>> Article.objects.get(id = 1)  #返回符合条件的对象
<Article: Article object>

>>> #update数据库修改操作
>>> first = Article.objects.get(id = 1)  #获取id = 1的对象
>>> first.title
'Hello World'
>>> first.date_time
datetime.datetime(2014, 12, 26, 13, 56, 48, 727425, tzinfo=<UTC>)
>>> first.content
'我们来做一个简单的数据库增加操作'
>>> first.category
'Python'
>>> first.content = 'Hello World, How are you'
>>> first.content  #再次查看是否修改成功, 修改操作就是点语法
'Hello World, How are you'

 

自强学堂的内容不错:http://www.ziqiangxuetang.com/django/django-cms-develop2.html

翻译了官方文档例子部分:http://7sdream.github.io/django-intro-zh/part3/

django连接mysql配置方法总结

 

python问题

IndentationError:expected an indented block错误,缩进问题!!!


 

HTML标签

(标签查询网址:http://www.monmonkey.com/rumenpian/html/index.html

<br> - 换行,代表换行,直接接在语句后面

    <body>
        <h1>Hello World!</h1>
        {% for i in total_list %}
        <a href="{{ i.url }}"> {{ i.title }} </a><br>
        {% endfor %}
    </body>

 

http://www.runoob.com/html/html-tutorial.html

 

MySQL

数据库删除一个字段:

ALTER TABLE table_name DROP field_name;  

添加用户 insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

报以下的错误 ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value错误

mysql5.1以上版本,我是在5.6版本上操作的。

错语原因:

mysql用户表的中某些字段不能为空,没有默认值

我的原因是多设了一个字段data_time,爬虫插入的时候,这个是空的,报错、

class csdn(models.Model):
    title = models.CharField(max_length = 100)
    url = models.CharField(max_length = 300,blank = True)
    # date_time = models.DateTimeField(auto_now_add = True)  #日期

使用语句删除了这个字段。参考上面内容。

 

因为Django自动创建的数据库,数据库表的字符设置不符合中文插入,是lanti类型,要修改为utf8

MySql表、字段、库的字符集修改及查看方法http://www.jb51.net/article/68856.htm

只是修改表的默认字符集:

只是修改表的默认字符集:

ALTER TABLE tbl_name DEFAULT CHARACTER SET character_name [COLLATE...];  

修改字段的字符集:

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name [COLLATE ...];  

如:
ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;


查看数据库编码:

SHOW CREATE DATABASE db_name;   


查看表编码:

SHOW CREATE TABLE tbl_name;   


查看字段编码:

SHOW FULL COLUMNS FROM tbl_name; 

 

Mysql插入中文错误:http://blog.csdn.net/ch717828/article/details/41357431

Incorrect string value: '\xE7\xA8\x8B\xE5\xBA\x8F...' for column 'course' at row 1

插入中文出错,查看数据库编码,修改后还是不行,因为表里面字段的编码还没有修改,修改后没问题

如下也是:http://blog.csdn.net/u011242745/article/details/51660344

问题描述:向数据库插入数据时出现:[Err] 1366 - Incorrect string value: '\xE5\x8D\x8E\xE5\xB8\x88' for column 'uaddr' at row 1
解决办法:将该表中的每一列的字符集都改为utf-8

http://blog.csdn.net/tzh476/article/details/52644271

1、已建立的表无法插入中文字符串,原因是因为数据表中的内容为latin1字符集,由下图的的资料可知,latin1字符集为8bit,这说明它是不能表示中文的,故而当然会报改错:

3、一些关于查看和修改字符集的MySQL知识:

http://www.2cto.com/database/201506/404703.html

 

这个错误的另外的解决方法:

在使用scrapy的时候:出现,重新创建表,在创建的时候就指定好字符集的设置。

https://zhidao.baidu.com/question/1368278524200929619.html

 

查看MySQL数据库表的命令介绍

mysql>show databases;//可以查看有哪些数据库,返回数据库名(databaseName)

mysql>use databaseName;  //更换当前使用的数据库

mysql>show tables;

mysql>show tables; //返回当前数据库下的所有表的名称
或者也可以直接用以下命令
mysql>show tables from databaseName;//databaseName可以用show databases得来

mysql查看表结构命令,如下:
mysql>desc table_name;
show columns from 表名;
或者
describe 表名;
show create table 表名;
或者
use information_schema
select * from columns where table_name='表名';

 

关于如何查看MySQL版本和端口号:

mysql> show global variables like 'port'; 
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port          | 3306  |
+---------------+-------+
1 row in set (0.01 sec)

mysql> status; 
--------------
mysql  Ver 14.14 Distrib 5.7.17, for Linux (x86_64) using  EditLine wrapper

Connection id:		5
Current database:	csdn_test1
Current user:		root@localhost
SSL:			Not in use
Current pager:		stdout
Using outfile:		''
Using delimiter:	;
Server version:		5.7.17-0ubuntu0.16.04.2 (Ubuntu)
Protocol version:	10
Connection:		Localhost via UNIX socket
Server characterset:	utf8
Db     characterset:	utf8
Client characterset:	utf8
Conn.  characterset:	utf8
UNIX socket:		/var/run/mysqld/mysqld.sock
Uptime:			1 day 1 hour 5 min 59 sec

Threads: 3  Questions: 4664  Slow queries: 0  Opens: 233  Flush tables: 1  Open tables: 98  Queries per second avg: 0.051
--------------

 

Scrapy

scrapy使用时的一些错误及解决方法http://blog.csdn.net/sunshine_in_moon/article/details/51250023

这文章里面:

第七个问题:‘ItemMeta’ object does not support item assignment.原来是是在初始化item对象是忘了在类名后加()了。比如有一个类名字叫A,而我初始化类对象时是这样的a=A忘记加括号了a=A(),这样才对。

[wc2] ERROR: Spider exception caught while processing   
<http://www.whitecase.com/Attorneys/List.aspx?LastName=A> (referer: <None>): 
[Failure instance: Traceback: <type 'exceptions.TypeError'>: 
'ItemMeta' object does not support item assignment

解决方法:

Probably you meant item = FirmItem() instead of item = FirmItem?

 

Scrapy系列学习:

scrapy研究探索(二)——爬w3school.com.cn

 

TypeError: insert() takes exactly 2 arguments (3 given)

#in sql.py

class Sql:

    @classmethod
    def insert(cls,url,title):
        # sql = 'INSERT INTO csdn (`url`,`title`) VALUES (%(url)s,%(title)s)'
        sql = 'INSERT INTO article_csdn (`url`,`title`) VALUES (%(url)s,%(title)s)'
        value = {
            'url': url,
            'title': title
        }
        cur.execute(sql, value)
        cnx.commit()

#the reason is lack of cls

 

自学教程

有数据库,python,ruby,lua,java等等 http://www.yiibai.com/

 

转载于:https://my.oschina.net/ZZKAJ23/blog/881649

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本系统的研发具有重大的意义,在安全性方面,用户使用浏览器访问网站时,采用注册和密码等相关的保护措施,提高系统的可靠性,维护用户的个人信息和财产的安全。在方便性方面,促进了校园失物招领网站的信息化建设,极大的方便了相关的工作人员对校园失物招领网站信息进行管理。 本系统主要通过使用Java语言编码设计系统功能,MySQL数据库管理数据,AJAX技术设计简洁的、友好的网址页面,然后在IDEA开发平台中,编写相关的Java代码文件,接着通过连接语言完成与数据库的搭建工作,再通过平台提供的Tomcat插件完成信息的交互,最后在浏览器中打开系统网址便可使用本系统。本系统的使用角色可以被分为用户和管理员,用户具有注册、查看信息、留言信息等功能,管理员具有修改用户信息,发布寻物启事等功能。 管理员可以选择任一浏览器打开网址,输入信息无误后,以管理员的身份行使相关的管理权限。管理员可以通过选择失物招领管理,管理相关的失物招领信息记录,比如进行查看失物招领信息标题,修改失物招领信息来源等操作。管理员可以通过选择公告管理,管理相关的公告信息记录,比如进行查看公告详情,删除错误的公告信息,发布公告等操作。管理员可以通过选择公告类型管理,管理相关的公告类型信息,比如查看所有公告类型,删除无用公告类型,修改公告类型,添加公告类型等操作。寻物启事管理页面,此页面提供给管理员的功能有:新增寻物启事,修改寻物启事,删除寻物启事。物品类型管理页面,此页面提供给管理员的功能有:新增物品类型,修改物品类型,删除物品类型。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值