Django 2 ----- 数据库与Admin

这篇博客介绍了Django框架的基础知识,包括视图函数的创建,如定义index视图并配置URL路由;数据库配置,以MySQL为例,展示了在settings.py中的设置;模型的建立,创建Question和Choice类;以及Admin模块的使用,通过注册模型并在后台进行操作。
摘要由CSDN通过智能技术生成

一. 视图函数

(1). 基本概念

视图的作用是接受和发送Web请求,主要用来处理网站的业务逻辑

(2). 开发第一个视图

在polls/views.py下,写入以下代码

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.

def index(request):
    return HttpResponse("欢迎来到投票系统!")

注:request这个参数是必须要传的,具体是什么后面会介绍
写完视图函数后,先在poll目录下配置分布式路由,新建一个urls.py文件,写入以下代码

from django.urls import path
from . import views

urlpatterns = [
    path('', views.index, name="index"),
]

再去主目录的urls.py将这个路由包括进去

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index', include('poll.urls')),
]

在浏览器中打开”http://127.0.0.1:8000/index“,如果没报错,应该就看到页面了在这里插入图片描述

二. 对数据库的配置

这里用MySQL数据库
直接进入到settings.py,大概76行的位置
要先在mysql中创建相对应的数据库哦

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test1_0719', # 名字可以随便取
        'USER':'root',
        'PASSWORD':'123456',
        'HOST':'127.0.0.1', # 本机环回地址
        'PORT':'3306', # 默认端口号3306
    }
}

三. 建立模型

在poll/models.py写入以下代码:

import datetime

from django.db import models
from django.utils import timezone
# Create your models here.

class Question(models.Model):
    question_text = models.CharField(max_length=200)
    pub_date = models.DateTimeField(verbose_name='date published')

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)

    def __str__(self):
        return self.question_text

class Choice(models.Model):
    question = models.ForeignKey(Question, on_delete=models.CASCADE)
    choice_text = models.CharField(max_length=200)
    votes = models.IntegerField(default=0) # 整数类型,映射到数据库中会变成11位的int类型

    def __str__(self):
        return self.choice_text

接着在命令行执行以下命令:

python3 manage.py makemigrations
python3 manage.py migrate

这两个脚本命令是为了告诉MySQL数据库,models发生更改。
在这里插入图片描述

四. Admin模块

python manage.py createsuperuser

接下来跟着命令行做就行了
在浏览器输入http://127.0.0.1:8000/admin/,就可以进入superuser界面

在这里插入图片描述
在poll/admin.py输入以下代码

from django.contrib import admin

# Register your models here.
from . models import Question
admin.site.register(Question)

刷新页面就可以得到新的界面,然后点击加号就可以编辑属于自己的问题。
现在我们有个后端页面,但是没有前端页面,这在Django—3中会讲到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WFForstar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值