zoukankan      html  css  js  c++  java
  • django数据处理

    django积累

    连接数据库:

    连接数据库 :
     1.创建数据库
        create database oa default charset utf8;
        
     2.Server returns invalid timezone. Go to 'Advanced' tab and set 'serverTimezone' property manually. ??
    
    ---》时区错误,MySQL默认的时区是UTC时区,比北京时间晚8个小时。 在mysql的命令模式下,输入:
    set global time_zone='+8:00';
    
    3.__init__.py导入pymysql
    import pymysql
    pymysql.install_as_MySQLdb()   #取代mysqldb
    
    

    模板

    #模板
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'oa',
            'HOST': '127.0.0.1',
            'PORT': 3306,
            'USER': 'root',
            'PASSWORD': '123456',
            'CHARSET':'utf8'
        }
    }
    
    
    数据库迁移: 
    	“生成迁移”和“执行迁移”来完成关系型数据库中二维表的创建
    
    (venv)$ python manage.py makemigrations vote
    ...
    (venv)$ python manage.py migrate
    
    注意:为了给vote应用生成迁移文件,需要修改Django项目settings.py文件,在INSTALLED_APPS中添加vote应用
    

    后台管理

    使用Django提供的后台管理来添加学科和老师信息!!
    
    1.创建超级用户:
    	createsuperuser
    2.注册模型类和模型管理类
    	admin.site.register(models.Userinfo)
    3.admin后台添加数据,修改数据。
    

    功能扩展:

    admin其他功能扩展
        list_display  		控制展示字段
        list_display_links  控制跳转字段
        search_fields       控制搜索框 多个字段是或的关系
        list_filter			通常只放外键字段
        actions				自定义批量操作的方法
    
        class BookConfig(admin.ModelAdmin):
            list_display = ['username','password','register_time','avatar']
            list_display_links = ['password']
            search_fields = ['username','password']
            list_filter = ['blog']
    
            def patch_init(self,request,queryset):
                print(queryset)  # <QuerySet [<Userinfo: tank>, <Userinfo: admin>, <Userinfo: oscar>, <Userinfo: jason>, <Userinfo: egon>]>
    
                patch_init.short_description = '批量更新'
                actions = [patch_init]
    

    日志打印:

    LOGGING = {
        'version': 1,
        # 是否禁用已经存在的日志器
        'disable_existing_loggers': False,
        # 日志格式化器
        'formatters': {
            'simple': {
                'format': '%(asctime)s %(module)s.%(funcName)s: %(message)s',
                'datefmt': '%Y-%m-%d %H:%M:%S',
            },
            'verbose': {
                'format': '%(asctime)s %(levelname)s [%(process)d-%(threadName)s] '
                          '%(module)s.%(funcName)s line %(lineno)d: %(message)s',
                'datefmt': '%Y-%m-%d %H:%M:%S',
            }
        },
        # 日志过滤器
        'filters': {
            # 只有在Django配置文件中DEBUG值为True时才起作用
            'require_debug_true': {
                '()': 'django.utils.log.RequireDebugTrue',
            },
        },
        # 日志处理器
        'handlers': {
            # 输出到控制台
            'console': {
                'class': 'logging.StreamHandler',
                'level': 'DEBUG',
                'filters': ['require_debug_true'],
                'formatter': 'simple',
            },
            # 输出到文件(每周切割一次)
            'file1': {
                'class': 'logging.handlers.TimedRotatingFileHandler',
                'filename': 'access.log',
                'when': 'W0',
                'backupCount': 12,
                'formatter': 'simple',
                'level': 'INFO',
            },
            # 输出到文件(每天切割一次)
            'file2': {
                'class': 'logging.handlers.TimedRotatingFileHandler',
                'filename': 'error.log',
                'when': 'D',
                'backupCount': 31,
                'formatter': 'verbose',
                'level': 'WARNING',
            },
        },
        # 日志器记录器
        'loggers': {
            'django': {
                # 需要使用的日志处理器
                'handlers': ['console', 'file1', 'file2'],
                # 是否向上传播日志信息
                'propagate': True,
                # 日志级别(不一定是最终的日志级别)
                'level': 'DEBUG',
            },
        }
    }
    
  • 相关阅读:
    linux内核中GNU C和标准C的区别
    linux内核中GNU C和标准C的区别
    Getting start with dbus in systemd (02)
    Getting start with dbus in systemd (01)
    Getting start with dbus in systemd (03)
    物理内存相关的三个数据结构
    数据类型对应字节数(32位,64位 int 占字节数)
    Linux kernel 内存
    共模电感的原理以及使用情况
    [原创]DC-DC输出端加电压会烧毁
  • 原文地址:https://www.cnblogs.com/shaozheng/p/12025339.html
Copyright © 2011-2022 走看看