注冊app
在setting.py中,寫入自己創(chuàng)建的app,使django能夠找到它
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
]
在app下的models.py文件中通過類操作數(shù)據(jù)庫
from django.db import models
class UserInfo(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=64)
python manage.py makemigrations
使數(shù)據(jù)庫語句寫入到app下的migrations文件夾下
python manage.py migrate
直接操作數(shù)據(jù)庫
django默認數(shù)據(jù)庫為sqlite3,通過更改settings.py更改數(shù)據(jù)庫
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname',
'USER': 'root',
'PASSWORD': 'xxx',
'HOST': '',
'PORT': '',
}
}
# 由于Django內部連接MySQL時使用的是MySQLdb模塊,
而python3中還無此模塊,所以需要使用pymysql來代替
# 如下設置放置的與project同名的配置的 __init__.py文件中
import pymysql
pymysql.install_as_MySQLdb()
增刪改查
from cmdb import models
def orm(request):
# 創(chuàng)建
# models.UserInfo.objects.create(username='alex', password=123)
# content = {'username': 'eric', 'password': 456}
# models.UserInfo.objects.create(**content)
# obj = models.UserInfo(username='merry', password='890')
# obj.save()
# 查
# result = models.UserInfo.objects.all()
# result = models.UserInfo.objects.filter(username='merry')
# print(result)
# for row in result:
# print(row.id, row.username, row.password)
# 刪除
# models.UserInfo.objects.filter(username='merry').delete()
# 更新
models.UserInfo.objects.filter(id=1).update(username='root')
return HttpResponse("<h1>ok</h1>")