django

django

虚拟环境创建: virtualenv --no-site-packages -p python.exe路径 环境名

安装: pip install django==2.1.7

需要再虚拟环境被激活(env的Script文件夹下activate)的情况下才能使用此命令

创建项目django-admin startproject 项目名day01

创建django应用: python manage.py startapp 应用名app

启动,修改ip和端口
修改端口: python manage.py runserver 端口号
修改IP和端口: python manage.py runserver IP:端口

数据库简单配置与迁移
修改settings.py文件中DATABASE的数据: NAME,USER,PASSWORD,HOST,PORT,OPTIONS
迁移django默认提供的模型: python manage.py migrate

django自带后台管理
访问: IP:端口/admin/
创建账号: python manage.py createsuperuser

生成迁移文件: python manage.py makemigrations

将'app'加入settings.py中的APP定义中

执行迁移文件: python manage.py migrate

注意: 当第一次迁移django默认提供的表时,直接执行migrate命令即可

在day01的__init__.py中需要写入

import pymysql
pymysql.install_as_MySQLdb()

来解决django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module.的问题

models.py

# Create your models here.
class Article(models.Model):
    #模型中不用自定义自增,迁移时会自动创建
    title = models.CharField(max_length=10, null=False)
    desc = models.CharField(max_length=100,null=True)

    class Meta:
        # 指定表名
        db_table = 'article'

class Student(models.Model):
    s_name = models.CharField(max_length=10, unique=True, null=False)
    age = models.IntegerField(default=18)
    # 第一次创建数据时,自动默认为当前创建的时间
    create_time = models.DateTimeField(auto_now_add=True)
    # 修改时自动更新为修改的时间
    operate_time = models.DateTimeField(auto_now=True)
    is_delete = models.BooleanField(default=0)

    # decimalField:5位数,小数占两位
    class Meta:
        db_table = 'student'

views.py

from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.
from app.models import Student


def hello(request):
    return HttpResponse('hello world')

def add_stu(request):
    if request.method == 'GET':
        #新增学生信息
        # stu = Student()
        # stu.s_name = '小明'
        # stu.age = 29
        # stu.save()
        Student.objects.create(s_name='小花',age=23)
        return HttpResponse('响应成功')
def del_stu(request):
    if request.method == 'GET':
        # filter字段等于值
        stu = Student.objects.filter(s_name='小明').first()
        stu.delete()
        # 删除多条
        Student.objects.filter(s_name='小花').delete()
        return HttpResponse('删除成功')

def update_stu(request):
    if request.method == 'GET':
        # 修改数据
        # stu = Student.objects.filter(s_name='小花').first()
        # stu.age = 19
        # stu.save()
        # 只有再save()才会更新
        Student.objects.filter(s_name='小花').update(age=20,s_name='小强')
        return HttpResponse('修改数据')

你可能感兴趣的:(django)