django学习——基本流程

python进阶——django学习之基本流程

创建项目

  • django-admin startproject <项目名>

配置数据库

  • 在__init__.py文件中先导入pymysql
  • 通过pymysql使用install_as_MySQLdb()函数
  • 打开项目配置目录中的settings.py文件
  • 修改DATABASES标签下的属性——以MySQL为例
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '数据库名',
        'USER': '用户名',
        'PASSWORD': '密码',
        'HOST': '服务器IP',
        'PORT': '端口号'
    }

创建应用

  • python manage.py startapp <应用名>

安装应用

  • 在项目配置目录的settings.py文件
  • 在标签INSTALLED_APPS添加应用的名称

定义模型——Model

  • 在应用文件夹的models.py进行模型类定义
  • 模型类继承 models.Model 类

创建数据表

  • 生成迁移文件——在项目根目录执行dos命令:python manage.py makemigrations
  • 执行迁移——在项目根目录执行dos命令:python manage.py migrate

测试数据操作

  • 进入python shell——在项目根目录下执行:python manage.py shell 或者 python(配置好环境变量)
  • 查询某表所有数据——在python shell导入模型类,执行代码:类名.objects.all()
  • 添加数据——创建对象,给对象的属性赋值,最后执行代码:对象名.save()
  • 查询某些数据——类名.objects.get(筛选条件)
  • 修改数据——获取某条数据并赋给模型对象,模型对象.属性 = 新值,后执行:对象名.save()
  • 删除数据——获取某条数据并赋给模型对象,后执行:对象名.delete()
  • 关联对象
  1. 获取关联对象集合:对象名.关联类名小写_set.all()
  2. 创建关联对象:对象名.关联类名小写_set.create(属性1 = xxx,...)

启动服务器

python轻量级服务器,仅在开发测试时使用

  • python manage.py runserver ip:port
  • python manage.py runserver
  1. ip不写为本机IP
  2. port默认8000

Admin站点管理

负责添加、修改、删除内容

  • 配置Admin应用——在settings.py的INSTALLED_APPS中添加 'django.contrib.admin' (默认已添加)
  • 创建管理员用户——python manage.py createsuperuser
  • 汉化(可选)——修改settings.py 文件中的内容
  1. LANGUAGE_CODE = 'zh-Hans' ——修改语言
  2. TIME_ZONE = 'Asia/Shanghai' ——修改时区
  • 管理数据表—— admin.py 文件
  1. 注册模型—— admin.site.register(模型类名)
  2. 自定义管理页面——需定义一个类并与模型类一起注册
  3. 关联对象
  4. 布尔值显示问题——构造函数,并设返回值,在list_display中使用该函数体(不加括号)
  5. 执行动作位置——actions_on_<位置> = False/True,位置即为:top、buttom,False为不显示,True为显示
  6. 使用装饰器注册——在模型管理类上方:@admin.register(模型类),功能与第一点相同
列表页属性list_display显示字段
list_filter过滤字段
search_fields搜索字段
list_per_page分页显示

添加、修改页属性

fields属性先后顺序
fieldsets属性分组
# 关联对象
class StudentInfo(admin.TabularInline):
    # admin.StackedInline 继承不同类,显示样式不一样
    model = Student    # 关联对象类
    extra = 3          # 默认显示添加行数


class GradeAdmin(admin.ModelAdmin):
    inlines = [StudentInfo]

视图的基本使用——View

在django中,视图对web请求进行回应;其实就是python中的一个函数,在views.py文件中定义(可查看MTV的相关概念)

  • 定义视图——在应用文件夹下的views.py文件中定义相关函数,用于返回web请求的数据
# 举个例子,在views.py文件下定义一下函数
from django.http import HttpResponse

def index(requst):
    return HttpResponse("Hello World!")
  • 配置URL——通过视图返回数据
  1. 修改项目配置目录的urls.py 文件,在urlpatterns列表下添加应用目录下的urls.py文件路径与访问名称
  2. 在应用文件目录下创建urls.py文件,并添加urlpatterns列表以及访问名称与对应视图中的函数
# 例如

# 在项目配置目录下的urls.py文件中
from django.conf.urls import url
from django.contrib import admin

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


# 在应用目录下的urls.py文件中
from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^$', views.index),
]

模板的基本使用——Template

模板是HTML页面,可以根据视图中传递过来的数据进行填充

  • 创建templates目录,在目录下创建对应应用的模板目录
  • 修改项目配置目录下的settings.py文件的TEMPLATES下的DIRS——'DIRS': [os.path.join(BASE_DIR, 'templates')]
  • 模板语法——{{输出值,可以是变量,也可以是对象.属性}}或者{%执行代码段%}

----------------------待更新-------------------

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值