django简单搭建

1.安装django
pip install django
c:\python39
	-python.exe
	-Scripts
		-pip.exe
		-django-admin.exe[工具,创建django项目中的文件和文件夹]
	-Lib
		-内置模块
		-site-packages
			-openpyxl
			-python-docx
			-flask
			-django [框架的源码]
	
2.创建项目

django中项目会有一些默认的文件和默认的文件夹

2.1在终端
  • 打开终端

  • 进入某个目录(项目放在那里)

  • 执行命令创建项目

    "c:\python39\Scripts\django-admin.exe" startproject 项目名称
    
    #如果c:\python39\Scripts已加入系统环境变量
    django-admin startproject 项目名称
    
2.2 Pycharm

在这里插入图片描述

注意:

- python解释器安装目录:c:\python39\python.exe lib....不要将项目放到此目录
- F:\pycode\(基于Django创建项目)

特殊说明:

  • 命令行,创建的项目是标准的
  • pycharm,在标准的基础上默认加了东西
    • 创建了一个templates目录(删除)
    • settings.py中[删除’DIRS’后面的参数]

默认项目的文件介绍:

│  manage.py         [项目管理,启动项目、创建app、数据库管理][不要动][常常用]
│
└─mysite
        asgi.py      [接收网络请求]        [不要动]
        settings.py  [项目配置]           [常常修改]
        urls.py      [URL和函数的对应关系]  [常常修改]
        wsgi.py      [接收网络请求]        [不要动]
        __init__.py  

3.创建APP
-项目
	- app 用户管理 [表结构、函数、HTML模板、css]
	- app 订单管理 [表结构、函数、HTML模板、css]
	- app 后台管理 [表结构、函数、HTML模板、css]
	- app 网站    [表结构、函数、HTML模板、css]
	- app API    [表结构、函数、HTML模板、css]
	..
注意:我们开发比较简洁,不需要多个app

在这里插入图片描述

├─app01
│  │  admin.py   [固定,不用动]django默认提供了admin后台管理
│  │  apps.py    [固定,不用动]app启动类
│  │  models.py  [重要]对数据库操作
│  │  tests.py
│  │  views.py   [重要]函数
│  │  __init__.py
│  │
│  └─migrations  [固定,不用动]单元测试
│          __init__.py
4.快速上手
  • 确保app已注册

在这里插入图片描述

  • 编写URL和视图函数(urls.py)

在这里插入图片描述

  • 编写视图函数(views.py)

在这里插入图片描述

  • 启动django项目

    • 命令行启动

      • python manage.py runserver
        
    • pycharm
      在这里插入图片描述

4.1再写一个页面

在这里插入图片描述

4.2templates模板

在这里插入图片描述

4.3静态文件

在开发过程中一般将:

  • 图片
  • css
  • js

都会当成静态文件

4.3.1 static目录

在app目录下创建static文件夹

在这里插入图片描述

4.3.2引用静态文件

在这里插入图片描述
这里的斜杠反了

5.模板语法

本质上:在HTML中写一些占位符,由数据对这些占位符进行替换和处理

在这里插入图片描述

案例:伪联通新闻中心

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6.请求和响应

关于重定向

在这里插入图片描述

案例:用户登录

在这里插入图片描述

7. 数据库操作
  • Mysql 数据库+pymysql
import pymysql
#1.连接Mysql
conn=pymysql.connect(host="127.0.0.1",post=3306,user='root',passwd='123456',charset='utf8',db='unicom')
cursor=conn.cursor(cursor=pymysql.cursors.DictCursor)
#2.发送指令
cursor。execute("insert into admin(username,password,mobile) values('wupeiqi','qwe123','15515555555')")
conn.commit()
#3.关闭
cursor.close()
conn.close()
  • Django开发操作数据库更简单,ORM框架

在这里插入图片描述

7.1安装第三方模块
pip install mysqlclient
7.2ORM

ORM可以帮助我们做两件事

  • 创建、修改、删除数据库中的表(不用你写sql语句)。[无法创建数据库]
  • 操作表中的数据(不用写sql语句)。
1.创建数据库
  • 启动mysql服务
  • 自带工具创建数据库
create batabase gx_day15 DEFAULT CHARSERT ust8 COLLATE utf8_general_ci;
2.Django连接数据库

在serrings.py修改文件

在这里插入图片描述

3.django操作表
  • 创建表

  • 删除表

  • 修改表

创建表:在models.py文件中

create table app01_userinfo(
    id bigint aut_increment primary key ,
    name varchar (32),
    password varchar (64),
    age int 
)

在这里插入图片描述

执行命令:app需要提前注册

python manage.py makemigrations
python manage.py migrate

在表中新增列时,由于已存在列中可能已有数据,所以新增列必须指定列对应的数据:

  • 手动输入一个值
  • 设置默认值
size=models.IntegerField(default=2)
  • 允许为空
date=models.IntegerField(null=True,blank=True)

以后在开发中如果想要对表结构进行调整:

  • 在models.py文件中操作即可
  • 命令
python manage.py makemigrations
python manage.py migrate
4. 操作表中的数据
#测试ORM操作表中的数据
    #1.新建
    # models.Department.objects.create(title="销售部")
    # models.Department.objects.create(title="IT部")
    # models.Department.objects.create(title="运营部")
    # models.UserInfo.objects.create(name='wu',password='123',age=19)
    # models.UserInfo.objects.create(name='zhu',password='333',age=12)

    #2.删除
    # models.UserInfo.objects.filter(id=3).delete()
    # models.Department.objects.all().delete()

    #3.获取数据
    #data_list=[对象,对象,对象] QuerySet类型
    #获取符合条件的所有数据
    # data_list=models.UserInfo.objects.all()
    # for obj in data_list:
    #     print(obj.id,obj.nane,obj.passwrod,obj.age)
    # data_list=[对象,对象,对象] QuerySet类型
    # data_list=models.UserInfo.objects.filter(id=1)
    # print(data_list)
    #获取第一条数据【对象】
    # row_obj=models.UserInfo.objects.filter(id=1).first()
    # print(row_obj.id, row_obj.nane, row_obj.passwrod, row_obj.age)

    #更新数据
    # models.UserInfo.objects.all().update(passwrod=9999)
    # models.UserInfo.objects.filter(id=2).update(passwrod=9999)
    # models.UserInfo.objects.filter(name='zhu').update(age=34)
案例:用户管理
1.展示用户列表
  • url
  • 函数
    • 获取所有用户信息
    • HTML渲染

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.添加用户
  • url
  • 函数
    • GET,看到页面,输入内容
    • POST,提交,写到数据库

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3.删除用户
  • url
  • 函数
http://127.0.0.1:8000/info/delete/?nid=1
http://127.0.0.1:8000/info/delete/?nid=2
http://127.0.0.1:8000/info/delete/?nid=3

def 函数(request):
	nid=request.GET.get("nid")
	UserInfo.objects.filter(id=nid).delete()
	return HttpResponse('删除成功')

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值