Django(基本流程)

作者: Xxxx_y | 来源:发表于2019-01-25 01:32 被阅读0次

    创建项目:
    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(基本流程)

        本文链接:https://www.haomeiwen.com/subject/bempjqtx.html