Django + Django REST framework步骤总结

主要记录一下Django + Django REST framework的步骤总结,第一次鼓捣后台和python,代码写得可能有点乱
此demo项目的部署记录点击这里python

1、建立配置项目

项目初始配置

建立项目mysql

$django-admin startproject mysite

安装数据库驱动git

$pip install pymysql

更改数据库配置(tips:这里为了方便就直接用root了)github

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',    #数据库引擎
        'NAME': 'blog_db',  #数据库名
        'USER': 'root',   #帐户名
        'PASSWORD': 'password', #密码
        'HOST': 'localhost', #主机
        'PORT': '3306', #端口
    }
}

接着在_init_.py添加以下代码sql

import pymysql
pymysql.install_as_MySQLdb()

设置settings.py中TIME_ZONE改成本身的时区数据库

TIME_ZONE = 'Asia/Shanghai'

MySQL中建立blog_db数据库django

CREATE DATABASE `blog_db` CHARACTER SET utf8 COLLATE utf8_general_ci;

执行数据库迁移命令segmentfault

$python manage.py makemigrations
$python manage.py migrate

这时可在MySQL下看见建立的表服务器

clipboard.png

建立应用

$python manage.py startapp blogApp

models.py中定义模型markdown

class Blog(models.Model):
    header = models.CharField(max_length=50)
    content = models.TextField()
    cover = models.TextField()
    markdownContent = models.TextField()#保存markdown语法内容
    time = models.CharField(max_length=50)
    readTimes = models.IntegerField()
    def __str__(self):
        return self.header

激活模型

在settings.py的INSTALLED_APPS中添加设置

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'blogApp.apps.BlogappConfig' #这里,具体apps.后是什么看对应app下的apps.py
]

接着运行命令,检测模型文件的修改,并把修改的部分储存为一次迁移(注意这里尚未修改)

$python manage.py makemigrations blogApp

执行迁移命令

$python manage.py migrate

MySQL下能够看见新建的表

clipboard.png

2、配置管理员页面

先建立管理员帐号

$python manage.py createsuperuser

在blogApp/admin.py下向管理员页面添加应用

from django.contrib import admin
from .models import Blog
# Register your models here.
admin.site.register(Blog)

到这里,启动虚拟服务器,到http://127.0.0.1:8000/admin/下输入帐号密码就能够看到对应管理界面

clipboard.png

3、使用Django REST framework

主要步骤以下:
安装并配置restframework—>serializer配置—>编写views.py—>URL配置

安装并配置restframework

安装:

pip install djangorestframework

配置:
settings.py的INSTALLED_APPS中添加:

NSTALLED_APPS = [
    ...
    'rest_framework',
]

serializer配置

blogApp下建立serializers.py,编写代码

from rest_framework import serializers
from django.contrib.auth.models import User
from .models import Blog

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ('username', 'password')

class BlogSerializer(serializers.ModelSerializer):
    class Meta:
        model = Blog
        fields = ('header', 'content', 'cover', 'markdownContent', 'time', 'readTimes')

views.py编写

这里代码比较多就直接后面的GitHub地址吧,不过是第一次接触python和后台方面的东西,没有试过serializer,代码写得比较差,这篇blog主要是以记录步骤为主

URL配置

blogApp下建立urls.py编写URL

from django.urls import re_path
from blogApp import views

urlpatterns = [
    re_path(r'^test_view/$', views.test_view),
    re_path(r'^login_view/$', views.login_view),
    .....
]

mysite/urls.py配置

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

urlpatterns = [
    path('admin/', admin.site.urls),
    re_path(r'^', include('blogApp.urls')),#映射blogApp的urls.py
]

至此,完成,启动本地服务器测试吧,test_view是我本身编写的测试view

clipboard.png

总结

完整项目代码GitHub地址以下,再说明下,第一次使用python和django,views.py中的代码写得较差,这篇blog主要是记录步骤,否则实在太容易忘记啦!
https://github.com/Joeoeoe/my...

相关文章
相关标签/搜索