Django(基本流程)

创建项目:
1,在合适的目录创建一个目录
2,打开黑屏终端进入到上一步创建的目录下
3,输入(django-admin startproject project)
4,目录层级说明:manage.py-->一个命令工具,可以使用我们用多种方式对Django项目进行交互
project目录:init.py-->一个空文件,它告诉python这个目录应该被看做一个python包
settings.py-->项目的配置文件
urls.py-->项目url声明
wsgi.py-->项目与WSGI兼容的Web服务器入口

配置数据库

创建应用:在一个项目中可以创建多个应用,每个应用进行一种业务处理
打开黑屏终端进入(eg:进入Django刚刚创建的目录下的project目录下)
在终端执行python manage.py startapp maApp(应用名字)

     创建好myApp目录说明:admin.py-->站点配置
                         models.py-->模型
                         views.py-->视图

创建应用:在settings.py文件中,将myApp应用加入到NSTALLED_APPS选项中

定义模型:有一个数据表,就对应有一个模型
在models.py文件中定义模型-->引入from django.bd import models
模型要继承models.Model类

数据库配置
在settings.py文件中,通过DATABASES项进行数据库设置
django支持的数据库包括:sqlite、mysql等主流数据库
Django默认使用SQLite数据库

eg:
DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'Xvhongye',(数据库名称)
    'USER':'root',(用户名)
    'PASSWORD':'xvhongye123',(密码)
    'HOST':'localhost',(ip)
    'PORT':'3306',(端口号)
}

}

在project中的__init__.py中引入:
        import pymysql
        pymysql.install_as_MySQLdb()

数据表:生成迁移文件-->在cmd中执行python manage.py makemigrations :在migrations目录下生成一个迁移文件,此时在数据库中还没有生成数据表
执行迁移文件-->python manage.py migrate(会在数据库生成对应的表 )

测试数据操作:进入到python shell -->执行python manage.py shell
引入包--> from myApp.models import Grades,Students
from django.utils import timezone
from datetime import *
查询所有数据-->类名.objects.all()
添加数据-->本质:创建一个模型类的对象实例
grade1 =Grades()
grade1.gname="xvhongye"
grade1.gdate =datetime(year=2018,month=12,day=20)
grade1.ggirlnum=3
grade1.gboynum =70
#存入数据库
grade1.save()
查看某个对象:类名.objects.get(pk=ID数)

        修改数据-->模型对象.属性=新值
                  grade2.gboynum =66
                  grade2.save()
        删除数据-->模型对象.delete()
                  grade2.delete()
                  注意:物理删除,数据库的表里的数据被删除了

      关联对象--> stu =Students()
                 stu.sname='琦琦'
                 stu.sgender =False
                 stu.sage =21
                 stu.scontend ="我是琦琦"
                 grade1 =Grades.objects.get(pk=1)
                 stu.sgrade =grade1
                 获取关联对象的集合-->需求:获取xvhongye班级的所有学生
                                          对象名.关联的类名小写_set.all()

                                    需求:创建黄芷琦,属于英语一班班级
                                          stu3 =grade1.students_set.create(sname=u"黄芷琦",sgender=True,scontend=u"我叫黄芷琦",sage=21)

启动服务器:格式-->python manage.py runserver ip:port

说明:这是一个python写的web服务器,轻量级的,仅在测试的时候使用

Admin站点管理:内容发布-->负责添加,修改,删除内容
公告访问
配置Admin应用:在settings.py文件中的INSTALLED_APPS添加
'django.contrib.admin'

创建管理员用户
python manage.py createsuperuser
依次输入用户名,邮箱,密码
登录的话:在local:8000\admin
汉化:修改settings.py文件中的 LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

管理数据表:修改admin.py中添加 from .models import Grades,Students
注册
admin.site.register(Grades)
admin.site.register(Students)

自定义管理页面:属性说明 --> 列表页属性:list_display(显示字段)
                                      list_filter(过滤字段)
                                      search_fields(搜索字段)
                                      list_per_page(分页,多少条数据显示一页)

                            添加,修改页属性:fields(属性的先后顺序)
                                           fieldsets(给属性分组)
                                           注意(fields与fieldsets不能同时使用)

视图的基本使用:概述:在django中,视图对web请求进行回应
视图就是一个python函数,在view.py文件中定义

               定义视图:from django.http import HttpResponse
                        def index(request):
                            return HttpResponse('xvhongye is good man!')

                配置url:修改project目录下的urls.py文件
                        from django.conf.urls import url,include
                        from django.contrib import admin
                        urlpatterns = [
                            url(r'^admin/', admin.site.urls),
                            url(r'^',include('myApp.urls')),
                        ]

                        在myApp应用目录下创建一个urls.py文件
                        from django.conf.urls import url
                        from . import views
                        urlpatterns =[
                         url(r'^$',views.index)
                        ]

模板的基本使用:概述:模板是HTML页面,可以根据视图中传递过来的数据进行填充

              创建模板:创建templates目录,在目录下创建对应项目的模板目录(project/templates/myApp)

              配置模板路径:修改settings.py文件下的TEMPLATES
                                'DIRS': [os.path.join(BASE_DIR,'templates')]

              定义grades.html和students.html页面

你可能感兴趣的:(Django(基本流程))