Django

MVT解析
M:model模块 用来和数据库交互
V:view 接收请求,处理请求,返回数据
T:template 模板 编写html、css、js代码的模板语言

虚拟环境
项目所需要的第三方软件环境相互隔离
创建虚拟环境:mkvirtualenv django_py3 -p python3
安装版本号:pip install django=1.11.11
建议:不安装最新版本
切换虚拟环境:workon django_py3
所有的虚拟环境查看:workon
删除虚拟环境:rmvirtualenv django_py2
退出虚拟环境:deactivate

创建Django项目
django-admin 项目名字

Django项目名下文件解析
1.项目名字
2.项目的同名文件夹,内部包含的是项目的配置文件
3.__init__.py文件
4.settings.py 项目的整体配置文件
5.urls.py 项目的URL配置文件
6.wsgi.py wsgi是项目与服务器的入口
7.manage.py 是项目的运行路口

运行服务器
运行:python manage.py runserver
如果后面不加端口则是默认8000,如果指定端口,则使用的是指定端口

创建模块
python manage.py 模块名
1.模块名文件
2.migrations文件:存放数据库迁移的文件
3.admin.py 后台管理站点的配置
4.apps.py 用来配置当前模块的相关信息
5.models.py 用来存放当前模块的数据库模型
6.tests.py
7.views.py 当前模块的业务逻辑

定义表与字段
创建类

class 表名(models.Model):
	字段名=model.CharField(max_length=50)
	#CharField字符串 max_length=字符串长度

继承于Model

迁移数据库表
1.先生成迁移文件
1.先切换到当前Django环境下
workon django_py3
2.生成迁移文件
python manage.py makemigration
2.执行迁移文件
python manage.py migrate
迁移成功并执行完成后,才会在数据库产生表

设置数据库
1.在settings.py中设置

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',#这个参数是设置数据库用的
        'NAME': 'Djangouser',#使用数据库的名字
        'USER': 'root',#数据库用户名
        'PASSWORD': '',#填写数据库密码
        'HOST': '127.0.0.1',#数据库主机的地址
        'POST': '3306',#一般使用,一般不做修改
    }
}

2.添加驱动

import pymysql
pymysql.install_as_MySQLdb()

视图
视图的作用:创建业务逻辑,完成路径——视图的匹配,返回给对应的路径的数据或者网页
创建一个视图函数,视图函数至少需要一个参数来接收Django传递过来的参数
request是一个请求对象,每个视图函数都必须要有一个参数来承接

配置URL
第一种方法:

from django.conf.urls import url,include
from django.contrib import admin
from user import views

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

第二种方法:(分模块再集中)
(1)在项目所在的同名文件夹的urls里面配置include()将各个模块的URL加载
(2)在各个模块的URL里面进行配置URL-----VIEWS
(3)项目同名的urls值完成路由的分发匹配过程
真正匹配路径在各个模块的URL下面

配置文件夹的查找路径

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR,'项目的同名文件夹名,内部包含的是项目的配置文件')],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

配置中文APP应用

from django.apps import AppConfig
class UserConfig(AppConfig):
    name = 'user'
    verbose_name='用户管理'

查找所有的数据
1.进行导包
查询所有的数据
A=表名,objects.all()
计数语句
B=表名,objects.count()
查询一条语句
C=表名,objects.get()
查询符合条件的多条数据
D=表名,objects.filter()
大于gt
大于等于gte
小于lt
小于等于lte

get()和filter()区别
get()获取的是指定条件符合数据,只有一条
filter()既可以查询一条语句,也可以查询多条语句,但是查询的结果放在一个列表里面、如果查询不到任何满足条件的数据,则返回的是一个空列表

reder HttpResponse JsonResponse区别
reder:返回网页的数据
HttpResponse:返回字符串
JsonResponse:字典

元类

   class Meta:
        db_table='表名'
        verbose_name='地址信息管理'#进行重命名
        verbose_name_plural = verbose_name#去除末尾s

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值