django与mysql数据库使用

 django框架目录介绍

blog (项目生成根目录容器)

manage.py: (一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互)

  • blog/settings.py  (基本配置,数据库连接)
  • blog/urls.py  (路由配置)
  • blog/wsgi.py  (一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。)
  • blog/__init__.py   (一个空文件,告诉 Python 该目录是一个 Python 包)

templates (模板文件目录)

  • index.html

user文件  (新建的app模块)

  • urls.py (路由配置,定向到view.py封装的函数)
  • view.py  (功能函数的拆分)
  • model.py (定义类,操作数据库)

使用app模块 

如果要使用模型Test,必须创建一个app

( django-admin startapp user)

user‘ 加在settings中的INSTALLED_APPS中 


数据库操作 

user / modes.py 

class User(models.Model):
    class Meta:
        db_table= 'user'
    name = models.CharField(max_length=20)
    email = models.CharField(max_length=128)

分类页面代码实现 

blog/urls.py

from django.conf.urls import url, include
from django.contrib import admin
from django.shortcuts import render

# 模板页面映射
def index(request):
    return render(request, 'index.html', {'user': 'I am template data'})

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index.html/', index),
    url(r'^user/', include('user.urls')),
]

blog/settings.py

添加映射模板查询位置
TEMPLATES 的 DIRS字段信息改为 'DIRS': [os.path.join(BASE_DIR, 'templates')],

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',   # 数据库引擎
        'NAME': 'mysqlcmdb',         # 你要存储数据的库名,事先要创建之
        'USER': 'root',         # 数据库用户名
        'PASSWORD': 'xxx',     # 密码
        'HOST': '127.0.0.1',    # 主机
        'PORT': '3306',         # 数据库使用的端口
    }
}

user/url.py 

from django.conf.urls import url, include
from .views import reg

urlpatterns = [
   url(r'^reg$', reg),
]

user/view.py 

from django.http import HttpRequest, HttpResponse, JsonResponse, HttpResponseBadRequest

import simplejson # 需要 pip install
from .models import User #引入User类,进行数据库语句操作

def reg(request: HttpRequest):
    try:
        payload = simplejson.loads(request.body) # 将post参数处理成json格式
        # request.GET(POST).get('email',default='') get(POST)请求指定参数获取
        email = payload['email']
        qs = User.objects.filter(email=email)  #查看数据库中有没有这个email
        response = {}
        for t in qs:
           response['id'] = t['id']
           response['name'] = t['name']
           response['password'] = t['password]
        if qs: #数据库中已经存在了
            return JsonResponse({'data': response, 'msg': '已经存在了'})

        name = payload['name']
        uesr = User()
        user.name = name
        uesr.email = email
        try:
            user.save() #插入注册信息进数据库
            return JsonResponse({'uer_id': user.id}) # 200状态码
        except Exception as e:
            return HttpResponseBadRequest() # 插入失败
    except Exception as e:
        return HttpResponseBadRequest()

 


Django一些操作数据库方法 

  • list = User.objects.all() [0: 20]  // 通过objects这个模型管理器的all()获得所有数据行的前20条数据
  • // from django.db.models import Q    用来使用 & |  非(~Q() )  复杂判断条件
  • response2 = User.objects.filter(Q(age=12) & Q(name=''xx'))  // 过滤条件
  • response3 = User.objects.get(id=1)   // 获取单个对象
  • User.objects.order_by("id")   // 数据排序
  • User.objects.filter(id=1).update(name='Google')   // 更新某一对象数据
  • User.objects.filter(id=1).delete()   // 删除某一对象数据
  • user.save()  //插入数据,user表示User类实例,用来添加插入信息之后,进行保存
python manage.py runserver 0.0.0.0:8000  // 启动服务   通过localhost:8000 访问

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值