• Django教程


    1、安装Django

    pip install django
    
    • 1

    2、创建项目

    进入创建项目的目录下,执行命令:

    django-admin startproject djangoDemo
    
    • 1

    3、启动服务

    进入djangoDemo项目目录,执行启动命令:

    python manage.py runserver [ip:port]
    
    • 1

    ipport为非必须参数,ip默认是本机ipport默认是8000

    如果启动失败有提示,根据提示执行命令:

    python manage.py migrate
    
    • 1

    然后再次执行启动命令:

    python manage.py runserver
    
    • 1

    在浏览器中请求http://127.0.0.1:8000/,成功访问项目

    4、创建应用

    进入djangoDemo项目目录,执行命令:

    python manage.py startapp app
    
    • 1

    执行完成后,看到项目中会新增一个app模块

    在根目录下手动生成一个templates文件,用来存放html文件,并且在setting文件下的TEMPLATES变量中修改属性DIRS

    'DIRS': [os.path.join(BASE_DIR, 'templates')],
    
    • 1

    如果提示os报错,则在上方添加导入

    import os
    
    • 1

    templates文件下创建一个html文件,输入一个变量,页面代码参考如下:

    DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Titletitle>
    head>
    <body>
      <h1>{{person_list}}h1>
      <h1>{{person_list.2}}h1>
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    app目录下的views中编写函数用来实现请求html页面,并且传入参数给html中的变量:

    def person(request):
        person_name = ["卡卡", "梅西", "克洛泽"]
        return render(request, "person.html", {"person_list": person_name})
    
    • 1
    • 2
    • 3

    配置路由即urls.py文件,首先导入app文件下的views文件,调用其函数person再配置路径:

    from app import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('person/', views.person)
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    再次运行python manage.py runserver命令,打开浏览器加入参数:http://127.0.0.1:8000/person/,即可看到刚刚添加的页面

    5、配置数据库(MySQL)

    app项目的__init__.py文件中添加代码如下:

    import pymysql
    pymysql.install_as_MySQLdb()
    
    • 1
    • 2

    settings.py文件中修改数据库引擎(Django默认使用Sqlit数据库,修改为MySQL数据库)

    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'csd-python',
            "USER": 'root',
            'PASSWORD': 'root',
            'HOST': '127.0.0.1',
            'PORT': '3306'
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    激活应用,在settings.py文件中添加刚刚创建的app应用

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'app',
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    定义模型,在models.py中定义模型

    from django.db import models
    
    
    # Create your models here.
    
    class Grades(models.Model):
        gname = models.CharField(max_length=20)
        gdate = models.DateTimeField()
        ggirlnum = models.IntegerField()
        gboynum = models.IntegerField()
        isDelete = models.BooleanField(default=False)
    
    class Students(models.Model):
        sname = models.CharField(max_length=20)
        sgender = models.BooleanField(default=True)
        sage = models.IntegerField()
        scontend = models.CharField(max_length=20)
        sgrade = models.CharField(max_length=20)
        isDelete = models.BooleanField(default=False)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    在数据库中生成数据表,分两步

    1)生成迁移文件,执行命令,此时会在app下生成一个migrations目录

    python manage.py makemigrations
    
    • 1

    2)执行迁移

    python manage.py migrate
    
    • 1

    此时,在数据库中就生成了对应的表结构,如果需要重复执行,且提示No changes detected,则可以先执行python manage.py makemigrations --empty app,将migrations目录的内容进行重置,然后再重复执行即可

    6、创建管理员用户

    进入到项目所在目录下,执行指令:

    python manage.py createsuperuser
    
    • 1

    然后依次输入用户名,邮箱,密码即可创建成功

    然后再次启动服务(python manage.py runserver),在浏览器中访问地址http://127.0.0.1:8000/admin,然后输入刚才创建的用户名和密码即可进入

    7、汉化

    修改settings.py文件,如下,然后刷新页面即可(文件修改实时生效,无需重启)

    LANGUAGE_CODE = 'zh-Hans'
    TIME_ZONE = 'Asia/Shanghai'
    
    • 1
    • 2
  • 相关阅读:
    网站内引入外链资源403无法正常加载?网页访问却又正常?
    FEDformer
    数字驱动的品牌重塑战略对您公司的重要意义
    【Unity实战】从零手戳一个库存背包系统
    【C++初级】2、浮点数计算
    【100天精通Python】Day55:Python 数据分析_Pandas数据选取和常用操作
    c# in vs out vs ref
    第 5 章 TF坐标变换(自学二刷笔记)
    前端如何实现精准的倒计时(排除误差、时间偏差)
    在 Kubernetes 上运行 Elasticsearch
  • 原文地址:https://blog.csdn.net/qq_39101581/article/details/127689502