zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    管理学课程都包括哪些方面的内容?
    关于如何创业的好书推荐:《创业必读12篇》
    关于企业文化的书籍,这本最经典
    如何开展行政管理工作?这些书可以告诉你答案
    企业家必读书籍有哪些?适合企业高管看的书推荐
    如何学好PHP?
    现在入门还有必要学PHP吗?
    Python实现递归二分法查找
    SAP Control framework–CL_GUI_TOOLBAR
    SAP Control framework–DIALOGBOX_CONTAINER
  • 原文地址:https://www.cnblogs.com/wxjblog/p/6937709.html
Copyright © 2011-2022 走看看