栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

文章目录
  • 一. 视图函数
      • (1). 基本概念
      • (2). 开发第一个视图
  • 二. 对数据库的配置
  • 三. 建立模型
  • 四. Admin模块

一. 视图函数 (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中会讲到。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022399.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号