简单Django+Djangorestframework+mysql项目

从零开发一个Django项目会遇到很多问题,从环境问题慢慢来。如果你本子里跑了一个python代码,在重新运行你的工程demo时会出错,有极大可能是你之前的工程并没有完全关掉。任务管理器或是netstate查看进程,并kill。还有就是手动给你的工程换端口号:python manage.py runserver 9000;(换和其他程序不冲突的端口号)

环境搭建自行网上搜索;在Django工程里创建一个app01

在工程settings里加入我们的app配置和drf,并写好数据库连接

数据库连接:

只搭建一个小的项目框架,熟悉Django操作,因此都在app01中操作,app01目录结构:

 

在app01中的models.py中建立一个ShopUser类,这一步是建立对应数据库的表,此时会在数据库中生成相应的表格

from django.db import models

# Create your models here.

class ShopUser(models.Model):
    name = models.CharField(max_length=20, default='', blank=True, null=True, verbose_name='名字')
    u_account = models.CharField(max_length=20, unique=True, blank=True, default='', verbose_name='账号')
    sex = models.CharField(max_length=10, default='male', verbose_name='性别')

    class Meta:
        db_table = 'shop_user'
        verbose_name = '商品用户'
        verbose_name_plural = '商品用户'

    def __unicode__(self):
        return '%d: %s' %(self.pk, self.name)

Django有强大的接口自测,在app01的admin中,

from django.contrib import admin
from .models import ShopUser

# Register your models here.
@admin.register(ShopUser)
class BlogTypeAdmin(admin.ModelAdmin):
    list_display = ('pk', 'name')

然后创建超级用户,登录浏览器:

作为超级管理员,可以对表信息进行修改

下面,以get方法为例:

建立完models后,我们就拥有了数据库表信息,此时可以编写序列化类:serializes,将数据库中的信息转换成json格式 :

from rest_framework import serializers
from .models import ShopUser

class ShopUserSerializers(serializers.ModelSerializer):
    class Meta:
        model = ShopUser  #指定的模型类
        fields = ('pk', 'name', 'u_account', 'sex') #需要序列化的属性


#序列化类继承ModelSerializer,model指的是我们在models中建立的相应类,fields中是要进行展示的字段,json中获取的字段按照
# fields中的排列顺序进行展示

#序列化后写视图

将结果集进行展示,写views视图

from django.shortcuts import render
from rest_framework import viewsets
from .models import ShopUser #将模型类也要导入,查询结果集时需要调用
from .serializers import ShopUserSerializers #将序列化类进行导入
# Create your views here.

class ShopUserViewSet(viewsets.ModelViewSet):
    #指定结果集并设置顺序
    queryset = ShopUser.objects.all().order_by('pk')
    #指定序列化的类
    serializer_class = ShopUserSerializers

"""
    建立model类,创建数据库表
    建立序列化类,将从数据库取到的数据进行序列化,成为json格式
    编写相应视图,使用viewsets,获取相应的model(数据库表)的结果,并调用该模型对应的序列化类
    
    在准备好以上工作后,需要设置一个入口,因此要设置路由
"""

然后我们要进入这个接口,获取相应的信息,要有入口,所以要进行路由设置,我们要编写app01下的urls :

from django.shortcuts import render
from rest_framework import viewsets
from .models import ShopUser #将模型类也要导入,查询结果集时需要调用
from .serializers import ShopUserSerializers #将序列化类进行导入
# Create your views here.

class ShopUserViewSet(viewsets.ModelViewSet):
    #指定结果集并设置顺序
    queryset = ShopUser.objects.all().order_by('pk')
    #指定序列化的类
    serializer_class = ShopUserSerializers

"""
    建立model类,创建数据库表
    建立序列化类,将从数据库取到的数据进行序列化,成为json格式
    编写相应视图,使用viewsets,获取相应的model(数据库表)的结果,并调用该模型对应的序列化类
    
    在准备好以上工作后,需要设置一个入口,因此要设置路由
"""

编写完子路由后,配置总路由,找和settings同目录的urls进行路由配置

"""djangoProject URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.2/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include

import app01

urlpatterns = [
    path('admin/', admin.site.urls),
    #配置首页路由,打开后跳转首页
    # path('', index, name='index'),
    #路由里的页面要由view渲染
    path('', include('app01.urls'))

]

效果展示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值