主要记录一下Django + Django REST framework的步骤总结,第一次鼓捣后台和python,代码写得可能有点乱
此demo项目的部署记录点击这里python
建立项目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下看见建立的表服务器
$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下能够看见新建的表
先建立管理员帐号
$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/下输入帐号密码就能够看到对应管理界面
主要步骤以下:
安装并配置restframework—>serializer配置—>编写views.py—>URL配置
安装:
pip install djangorestframework
配置:
settings.py的INSTALLED_APPS中添加:
NSTALLED_APPS = [ ... 'rest_framework', ]
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主要是以记录步骤为主
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
完整项目代码GitHub地址以下,再说明下,第一次使用python和django,views.py中的代码写得较差,这篇blog主要是记录步骤,否则实在太容易忘记啦!
https://github.com/Joeoeoe/my...