Python——django 学习笔记(一)

Python——django 学习笔记1

  • 创建Django项目
  • pycharm 导入 Django项目
  • 在pycharm使用django进行数据开发
    • 引用数据库数据到页面
    • 流程图

创建Django项目

  1. 打开code目录创建bookmanager的项目工程

    cd ~/Desktop/Code
    django-admin startproject bookmanager
    

    Python——django 学习笔记(一)_第1张图片

  2. 测试工程:运行bookmanager的项目工程

    python manage.py runserver
    
  3. 创建名为pay的子应用

    python manage.py startapp pay
    

Python——django 学习笔记(一)_第2张图片

pycharm 导入 Django项目

  1. 打开项目
Python——django 学习笔记(一)_第3张图片 Python——django 学习笔记(一)_第4张图片
  1. 配置项目的python环境
    Python——django 学习笔记(一)_第5张图片

在pycharm使用django进行数据开发

  1. 在项目中添加子应用
    Python——django 学习笔记(一)_第6张图片

  2. 定义模型类
    打开models.py

    from django.db import models
    
    
    # Create your models here.
    # 准备书籍列表信息信息的模型类
    class BookInfo(models.Model):
        # 主键当前会自动生成
        # 创建字段,字段类型
        name = models.CharField(max_length=10)
    
    
    # 准备人物列表信息的模型类
    class PeopleInfo(models.Model):
        name = models.CharField(max_length=10)
        gender = models.BooleanField()
        # 外键约束,人物属于哪本书
        book = models.ForeignKey(BookInfo, on_delete=models.CASCADE)	# on_delete=models.CASCADE,   # 删除关联数据,与之关联也删除
    
  3. 模型迁移
    生成迁移文件

    python manage.py makemigration
    

    再迁移,此时生成数据库中的生成表

    python manage.py migrate
    
  4. 安装数据库插件,在setting打开plugins,搜索database sql 安装 Database Navigator

  5. 操作数据库

    1.模型继承自谁
    2.ORM对应关系
    	表 --> 类
    	字段 --> 属性
    
  6. 修改站点语言与时区
    打开settings.py

    # LANGUAGE_CODE = 'en-us'
    # 语言 中文
    LANGUAGE_CODE = 'zh-Hans'
    
    # TIME_ZONE = 'UTC'
    # 时区
    TIME_ZONE = 'Asia/shanghai'
    USE_I18N = True
    
  7. 创建站点超级用户
    在终端界面输入

    python manage.py createsuperuser
    

    Python——django 学习笔记(一)_第7张图片

  8. 登入站点 http://127.0.0.1:8000/admin/ (创建超级用户时的用户名和密码)

  9. 注册模型
    打开 子应用book的admin.py

    from django.contrib import admin
    from book.models import BookInfo
    
    
    # Register your models here.
    # 注册模型
    # admin.site.register(模型类)
    admin.site.register(BookInfo)
    

    在站点界面添加数据

    Python——django 学习笔记(一)_第8张图片 Python——django 学习笔记(一)_第9张图片

    返回数据在页面显示
    Python——django 学习笔记(一)_第10张图片

  10. 视图和URL
    在子应用创建一个urls.py 用来接收用户请求
    打开子应用的views.py,返回一个响应

    from django.shortcuts import render
    from django.http import HttpRequest, HttpResponse
    # Create your views here.
    """
    视图
    1. 是一个python函数
    2. 函数的第一个参数就是请求
    3. 返回一个响应   响应是HttpResponse的实例对象或子类实例对象
    """
    
    
    def index(request):
        return HttpResponse('index')
    

    接着打开项目的urls.py,输入url请求的数据

    from django.contrib import admin
    from django.urls import path, include
    
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        # 比如请求的是:http://127.0.0.1:8000/index/
        path('', include('book.urls')),
    ]
    

    接着打开子应用创建好的urls.py,接受请求

    from django.conf.urls import url
    from book.views import index
    urlpatterns = [
        # url(正则,视图函数名)
        url(r'^index/$', index),
    ]
    

    其他子应用的视图和URL同理

  11. 模板template
    首先创建template目录和对应子应用目录以及index.html
    Python——django 学习笔记(一)_第11张图片
    然后打开项目目录下的settings.py设置接受模板目录路径
    Python——django 学习笔记(一)_第12张图片
    接着打开子应用的views.py,在子应用的视图中返回模板的响应
    Python——django 学习笔记(一)_第13张图片
    接着在模板中的index.html页面制定内容

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Titletitle>
    head>
    <body>
    
    <p>{{name}} is a beautiful girlp>
    body>
    html>
    

引用数据库数据到页面

  1. 更改前面子应用的views.py

    from django.shortcuts import render
    from book.models import BookInfo
    from django.http import HttpRequest, HttpResponse
    # Create your views here.
    """
    视图
    1. 是一个python函数
    2. 函数的第一个参数就是请求
    3. 返回一个响应   响应是HttpResponse的实例对象或子类实例对象
    """
    
    
    def index(request):
        # 准备上下文,定义字典中的{测试数据}
    
        name = "Jane"
        # 在数据库中查询数据,
        # objects.all() 返回的是queryset对象,也就是查询对象集合
        # objects.get() 返回的是列表
        # objects是Manager类型的对象,定义在from django.db import models中,
        # 是默认的管理对象,也就是objects = Modes.Manage() 。
        books = BookInfo.objects.all()
        context = {
            'name': name,
            'books': books,
            }
        # 将上下文交给模板进行处理,再返回视图响应给客户端
        return render(request, 'book/index.html', context)
        # return HttpResponse('index')
    
  2. 更改模板下的index.html

    
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Titletitle>
    head>
    <body>
    
    <p>{{name}} is a beautiful girlp>
    <ul>
        # 遍历数据库中的书名
        {% for book in books %}
            <li>{{ book.name }}li>
        {% endfor %}
    ul>
    body>
    html>
    

流程图

Python——django 学习笔记(一)_第14张图片

你可能感兴趣的:(学习笔记,数据库,python,django)