zoukankan      html  css  js  c++  java
  • django 创建笔记

    项目的创建:django-admin startproject 项目名
    进入虚拟环境
    test1
       __init__ ;说明是test1的一个python包
       settings.py:项目的配置文件
       urls.py :进行url路由的配置
       wsgi.py:web服务器和Django交互的入口
    manage.py:项目的管理文件

    一个项目有很多应用组成,每一个应用完成特定的功能
    创建应用:python manage.py startapp (名字)booktest
    booktest
       __init__:说明目录是一个python模块
       models.py:写和数据库项目的内容
       views.py:接收请求,进行处理,与M和T进行交互,返回应答,定义处理函数,视图函数
       tests.py:写测试代码的文件
       admin.py:网站后台管理相关的文件
    建立应用和项目之间联系,进行应用注册,在settings文件中
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'project_1.apps.Project1Config',#进行应用的注册
    ]
    运行项目:python manage.py runserver

     

    模型类设计
    在models.py中设置模型类
    必须继承models.Model类
     设计BookInfo类
    Model.Foreignkey可以创建两个模型类之间一对多的关系,django在生成表的时候,
    就会在多的表中创建一列作为外键,建立两个表之间一对多的关系

    模型类生成表

    生成迁移文件:python manage.py makemigrations

    执行迁移文件生成表:python manage.py migrate

    通过模型类操作数据表 python manage.py shell

    from project_1.models import BookInfo
    b = BookInfo()
    b.title = '天龙八部'
    from datetime import date
    b.bpub_date = date(2018,11,21)
    b.save()

    b2 = BookInfo.objects.get(id=1)
    更新
    b2.b.bpub_date = date(2019,1,21)
    b2.save()
    删除
    b2.delete()

    创建外键时需要设置一个参数on_delete=models.DO_NOTHING
     hbook = models.ForeignKey('BookInfo',on_delete=models.DO_NOTHING)

    from project_1.models import BookInfo,HeroInfo
    c = BookInfo()
    c.title = '天龙八部'
    from datetime import date
    c.bpub_date = date(2018,11,21)
    c.save()
    h = HeroInfo()
    h.hname = '段誉'
    h.hgender = False
    h.hcomment = '六脉神剑'
    h.hbook = c
    h.save()
    添加数据
    h2 = HeroInfo()
    h2.hname = '乔峰'
    h2.hcomment = '降龙十八掌'
    h2.hbook = c
    h2.save()

    查找:h2.hname

    h2.hcomment

    h2.hbook_id

    查询所有:

    HeroInfo.objects.all()

    由一查多

    b.heroinfo_set.all()

    由多查一

    h.hook()

  • 相关阅读:
    MFC——9.多线程与线程同步
    hdu 1598 find the most comfortable road(并查集+枚举)
    POJ3107Godfather[树形DP 树的重心]
    Codeforces 410C.Team[构造]
    Codeforces 715A. Plus and Square Root[数学构造]
    BZOJ1015[JSOI2008]星球大战starwar[并查集]
    洛谷U4727小L的二叉树[树转序列 LIS]
    Codeforces 500B. New Year Permutation[连通性]
    Codeforces 549D. Hear Features[贪心 英语]
    Codeforces 549C. The Game Of Parity[博弈论]
  • 原文地址:https://www.cnblogs.com/zhen622/p/9994680.html
Copyright © 2011-2022 走看看