P3第二单元 初始django下

1.django项目和应用创建命令

django-admin startproject 项目名
python manage.py startapp 子应用名
python manage.py runserver 运行项目

2.配置模板

在setting文件中配置模板

TEMPLATES = [   
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, 'templates')],# 模板配置
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

2.2在根目录下创建templates文件夹

3.模板页面的渲染

{{}} for if

4.ORM映射

4.1 安装自定义应用

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'myapp',  # 注册子应用
]

4.2 配置数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  # 使用mysql数据库
        'HOST': 'localhost',  # 主机
        'PORT': 3306,  # 端口
        'USER': 'root',  # 用户名
        'PASSWORD': 'root',  # 密码,根据自己的密码来
        'NAME': 'game',  # 数据库
    }
}

4.3安装数据库

在与项目同名的init.py文件中添加以下代码

import pymysql
pymysql.install_as_MySQLdb()

4.4 编写模型类

在子应用的models.py文件中编写代码

from django.db import models

Create your models here.

模型类 会自动生成 id字段

class Game(models.Model):
    # CharField 字符串 max_length 最大长度 verbose_name 后台管理的字段名
    name = models.CharField(max_length=20, verbose_name='角色名')
    # IntegerField 整型
    atk = models.IntegerField(verbose_name='攻击力')
    level = models.IntegerField(verbose_name='等级')
    class Meta:
    	db_table = 'game'
        verbose_name = '游戏信息表'
        verbose_name_plural = verbose_name
    def __str__(self):
        return self.name
    	

4.5 迁移

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

5.视图

在子应用的views.py文件中编写视图代码,来处理业务逻辑

视图函数

def MyView(request):
    # return HttpResponse('<h1>这是我的第一个视图</h1>')  # 返回一个相应
    content = {  # 传递给页面的数据,格式是字典
        'money': 100,
        'scores': [100, 99, 95, 80, 85],
        'game': {
            'name': '龙傲天',
            'atk': '999',
            'def': '10',
            'level': '18',
        }
    }
    return render(request, 'index.html', content)  # 返回一个模板页面

6.路由

为了让视图生效,需要编写路由代码

from django.contrib import admin
from django.urls import path
from myapp import views

主路由

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myview/', views.MyView),  # 新增路由
]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值