django 离线脚本学习,可以在不依赖django框架的同时对django项目做一些处理。(可以独立处理运行)
例:使用离线脚本给django中插入数据
先创建一个web
项目,并在models
文件创建
from django.db import models
class UserInfo(models.Model):
username = models.CharField(verbose_name='用户名',max_length=32,db_index=True)
email = models.EmailField(verbose_name='邮箱')
mobile_phone = models.CharField(verbose_name='手机号',max_length=32,db_index=True)
password = models.CharField(verbose_name='密码',max_length=32)
接下来在创建一个任意文件a.py
from web import models
models.UserInfo.objects.create(username='username',password='password',email='123456@163.com',mobile_phone='1234567890123')
直接运行上面的a.py
文件是会报错的
django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
上面错误主要是因为
1、web服务并没有在运行
2、数据库、项目相关的内容并未配置
因为对于上面的问题,应该做出如下调整:
import django
import os
import sys
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(base_dir) #添加项目根目录
os.environ.setdefault('DJANGO_SETTINGS_MODULE','项目名称.settings') #指定项目路径
django.setup()
from web import models #先完成路径的写入后 在进行导入
models.UserInfo.objects.create(username='username',password='password',email='123456@163.com',mobile_phone='12312341234')