• Scrapy中使用Django的Model访问数据库


    Scrapy中使用Django的Model进行数据库访问

    当已存在Django项目的时候,直接引入Django的Model来使用比较简单

    # 使用以下语句添加Django项目的目录到path
    import os
    import sys
    import django
    # 当前项目的上级目录中的Django项目
    sys.path.append('../django_spider')
    # 设置Django环境变量
    os.environ['DJANGO_SETTINGS_MODULE'] = 'django_spider.settings'
    # 启动Django
    django.setup()
    

    然后,下面就可以直接引入Model中的class,使用Django的ORM进行数据库访问了

    如果不希望使用一个完整的Django项目来提供ORM支持,也可以使用下面的方法

    # 项目目录结构
    project/
    	app/
    		model.py
    	migrations/
    		init.py
    	db_setting.py
    	manage.py
    
    1,manage.py
    #!/usr/bin/env python
    import os
    import sys
    if __name__ == "__main__":
        os.environ.setdefault("DJANGO_SETTINGS_MODULE", "db_settings")
    
        from django.core.management import execute_from_command_line
    
        execute_from_command_line(sys.argv)
    
    2,db_setting.py
    import os
    # 当前设置文件路径
    BASE_DIR = os.path.dirname(__file__)
    
    SECRET_KEY = 'at8j8i9%=+m@topzgjzvhs#64^0&qlr6m5yc(_&me%!@jp-7y+'
    
    #添加APP
    INSTALLED_APPS = (
        'app',
    )
    
    # Database,在setting文件的同级目录下创建sqllite文件
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        }
    }
    # MySQL配置
    DATABASES = {
    	'default':{
    		'ENGINE'  :'django.db.backends.mysql',
    		'NAME'    :'spider',  # 你的数据库名称
    		'USER'    :'root',  # 你的数据库用户名
    		'PASSWORD':'root',  # 你的数据库密码
    		'HOST'    :'127.0.0.1',  # 你的数据库主机,留空默认为localhost
    		'PORT'    :'3306',  # 你的数据库端口
    	}
    }
    
    3,migrations/init.py

    空文件

    4,model.py
    from django.db import models
    
    # Create your models here.
    class TableName(models.Model):
        name = models.CharField(max_length=100)
    

    这里其实相当于一个简易的Django项目,只是用了里面的db模块

    使用方法

    import os
    import django
    os.environ['DJANGO_SETTINGS_MODULE'] = 'db_settings'
    django.setup()
    from app.models import TableName
    
  • 相关阅读:
    pl/sql 编程!
    oracle中的常用函数、字符串函数、数值类型函数、日期函数,聚合函数。
    oracle 相关查询和非相关查询,oracle 去除重复数据,以及oracle的分页查询!
    初识 oracle!
    分页查询。
    利用ajax技术 实现用户注册。
    quartz CronExpression
    SQL 面试题
    什么是HTTP协议?常用的状态码有哪些?
    聚集索引与非聚集索引
  • 原文地址:https://www.cnblogs.com/wxjblog/p/6937709.html
Copyright © 2020-2023  润新知