Django学习笔记5-框架快速运行(1)

创建一个项目
django-admin startproject mysite
运行开发服务器
python manage.py runserver
创建一个应用程序
python manage.py startapp myapp
首先创建数据库

点击右键,创建数据库。名字为mytest
在这里插入图片描述

修改settings配置文件

1、修改模板目录位置

'DIRS': [os.path.join(BASE_DIR,'template')],#添加模板目录

在这里插入图片描述
2、修改数据库文件

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mytest',
        'USER': 'root',
        'PASSWORD': '',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

在这里插入图片描述
3、允许所有用户访问

ALLOWED_HOSTS = ['*']#允许的主机名,可以将允许访问的主机添加在这个列表里面。

4、把当前应用加进去
在这里插入图片描述

model 模型

每个模型都是django.db.models.Model的python子类,,模型中的每个属性都表示数据库中的一个字段,django提供一套自动生成用于数据库访问的API,极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳。
模型主要负责业务对象和数据库关系映射,ORM,是对象-关系-映射的简称,主要任务是:
根据对象类型生成表结构,将对象、列表的操作, 转换成sql语句,将sql查询到的结果转换为对象,列表。

安装mysqlclient

由于django框架中使用mysql数据库需要加载mysql模块,也就是需要安装mysqlclient

pip install mysqlclient
在model.py中定义model类
from django.db import models

# Create your models here.
from django.db import models
from datetime import datetime
class Users(models.Model):
    name = models.CharField(max_length=32)
    age = models.IntegerField(default=20)
    phone = models.CharField(max_length=16)
    addtime = models.DateTimeField(default=datetime.now)

定义了name,age,phone,addtime这几个属性。

生成迁移文件
python manage.py makemigrations

在这里插入图片描述

执行迁移
python manage.py migrate

会生成这么多表格
在这里插入图片描述

开始使用model

1、定义一个路由,在myapp的urls.py中

bash
urlpatterns = [
    path('', views.index, name='index'),
]

2、在mysite的主目录的urls.py中定义

from django.contrib import admin
from django.urls import path,include
from myapp import views


urlpatterns = [
    #path('admin/', admin.site.urls),
    path('',include('myapp.urls')),
    #path('', views.index, name='index'),
    # path('abc',views.add,name='add'),

]

3、在myapp的view里面定义

from django.shortcuts import render
from django.http import HttpResponse
from myapp.models import Users
# Create your views here.添加操作
def index(request):
#增加操作
    #ob=Users() #实例化一个新的对象
    #ob.name="六三"
    #ob.age= 30
    #ob.phone='155956389'
    #ob.save()#保存
#删除操作
    #mod=Users.objects
    #user=mod.get(id=3)
    #print(user.name)
    #user.delete()
#修改操作
    #ob=Users.objects.get(id=1)
    #print(ob.name)
    #ob.name="小刘"
    #ob.age="27"
    #ob.save()
#查询操作
    mod=Users.objects
    #ulist=mod.all()#获取所有数据
    #ulist=mod.filter(name="小刘")#过滤数据,得到想要的数据
    #ulist=mod.filter(age__gte=20)#年龄大于等于20
    #ulist=mod.filter(age__lte=20)#年龄小于等于20
    ulist=mod.order_by("age")[:3]#按照年龄排序
    for u in ulist:
        print(u.id,u.name,u.age,u.addtime)


    #return HttpResponse("Hello, world. You're at the myapp index.")
    return HttpResponse("首页<br/> <a href='/users'>用户信息管理</a>")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值