当前位置:   article > 正文

Django流程_django运行流程

django运行流程

1.Django项目创建和启动

  1. # 创建项目
  2. django-admin startproject 项目名
  3. # 创建子应用
  4. python manage.py startapp 应用名
  5. # 启动应用
  6. python manage.py runserver

2.视图

2.1 2.2在views写视图

  1. # 在views.py中
  2. from django.shortcuts import render
  3. # 导入
  4. from django.http import HttpResponse
  5. # 视图函数
  6. # def MyView(request):
  7. # 1.返回一个相应
  8. # return HttpResponse('<h3>这是我第一个视图</h3>')

2.2 配置视图路由

  1. # 在urls.py 中配置
  2. from django.contrib import admin
  3. from django.urls import path
  4. from myapp import views
  5. # 主路由
  6. urlpatterns = [
  7. path('admin/', admin.site.urls),
  8. path('myview/',views.MyView)
  9. ]

3.模板

3.1 配置模板

  1. # 在settings.py 中配置
  2. TEMPLATES = [ # 模板配置
  3. {
  4. 'BACKEND': 'django.template.backends.django.DjangoTemplates',
  5. 'DIRS': [os.path.join(BASE_DIR,'templates')], # 主要配置这点
  6. 'APP_DIRS': True,
  7. 'OPTIONS': {
  8. 'context_processors': [
  9. 'django.template.context_processors.debug',
  10. 'django.template.context_processors.request',
  11. 'django.contrib.auth.context_processors.auth',
  12. 'django.contrib.messages.context_processors.messages',
  13. ],
  14. },
  15. },
  16. ]

3.2 创建模板文件夹

在根目录创建和配置名一样的文件名  templates => 创建HTML文件

4.ORM映射

4.1 注册自定义应用

  1. # 在setting.py中配置
  2. INSTALLED_APPS = [ # 注册
  3. 'django.contrib.admin',
  4. 'django.contrib.auth',
  5. 'django.contrib.contenttypes',
  6. 'django.contrib.sessions',
  7. 'django.contrib.messages',
  8. 'django.contrib.staticfiles',
  9. 'myapp', # 注册子应用
  10. ]

4.2 配置数据库

  1. # 在settings.py中配置
  2. DATABASES = { # 配置数据库 除端口外,其他都是数据库
  3. 'default': {
  4. 'ENGINE': 'django.db.backends.mysql', # 使用mysql数据库
  5. 'HOST':'localhost', # 本机 127.0.0.1
  6. 'POST': 3306, # 端口
  7. 'USER':'root', # 用户名
  8. 'PASSWORD':'123123', # 密码 自己的密码 字符串模式
  9. 'NAME':'games', # 数据库
  10. }
  11. }

4.3 安装数据库

  1. # 在项目文件中__init__.py 安装数据库
  2. # 安装数据库
  3. import pymysql
  4. pymysql.install_as_MySQLdb()

4.4 编写模型类

  1. # 在子应用中的models.py
  2. from django.db import models
  3. # Create your models here.
  4. # 模型类 会自动生成 id字段
  5. class game(models.Model):
  6. # CharField 字符段 max_length 最大长度--必传参数 verbose_name 后台管理名
  7. name = models.CharField(max_length=20,verbose_name='角色名')
  8. # IntegerField 整型
  9. atk = models.IntegerField(verbose_name='攻击力')
  10. level = models.IntegerField(verbose_name='等级')

4.5 迁移

  1. # 在终端中写
  2. # 生成迁移文件:
  3. python .\manage.py makemigrations
  4. # 执行迁移:
  5. python .\manage.py migrate

4.6 表中添加数据

  1. # 在admin控制台
  2. # 创建超级用户
  3. python manage.py createsuperuser

4.7 注册表

  1. # 在admin.py中
  2. from django.contrib import admin
  3. # 导入
  4. from myapp.models import game
  5. # Register your models here.
  6. admin.site.register(game)

5.MVT三层联动

5.1 views层从model拿数据

  1. # views中
  2. # 导包
  3. from myapp.models import game
  4. def MyView(request):
  5. # 3.MVT三层联动
  6. # 通过game模型类,取出数据库中的数据(ORM操作),取出所有角色信息
  7. game_data = game.objects.all()
  8. content = { # 传递给页面数据,字典模式
  9. 'games':game_data,
  10. }
  11. # render 返回一个模板页面
  12. return render(request,'index2.html',content)

5.2 模板渲染

  1. # 从html文件
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5. <meta charset="UTF-8">
  6. <title>Title</title>
  7. </head>
  8. <body>
  9. <h3>展示数据库中角色信息</h3>
  10. <table width="500px" border="1px" align="center">
  11. <tr>
  12. <th>编号</th>
  13. <th>角色名</th>
  14. <th>攻击力</th>
  15. <th>等级</th>
  16. </tr>
  17. {% for game in games %}
  18. <tr>
  19. <td>{{ game.id }}</td>
  20. <td>{{ game.name }}</td>
  21. <td>{{ game.atk }}</td>
  22. <td>{{ game.level }}</td>
  23. </tr>
  24. {% endfor %}
  25. </table>
  26. </body>
  27. </html>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/729159
推荐阅读
相关标签
  

闽ICP备14008679号