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
    
  • 相关阅读:
    使用 Hudson 进行持续集成
    hudson中的ftp插件
    Tomcat i18n 对 URL 进行 UTF8 解码
    Product deploy using NAnt and NSIS [技术点滴]
    切身体会到对微软的无语——关于VS2008的配置项
    How to create your own home SVN repository with Xampp/Apache
    CVS+VS2003+SetupFactory建设每日构建(Daily build)
    期待 JDK、Tomcat和MySQL的绿色安装方法
    FolderBrowserDialog 使用时路径问题
    无敌删除命令
  • 原文地址:https://www.cnblogs.com/wxjblog/p/6937709.html
Copyright © 2011-2022 走看看