A project
1、創(chuàng)建 Django 環(huán)境
Pycharm? Python 3.7
pip install Django==2.2.5 pip install djangorestframework==3.10.22、項(xiàng)目創(chuàng)建 新建 extra_apps (擴(kuò)展的源碼包) apps (放所有app) media (保存圖片) # 把extra_apps和apps標(biāo)記為sources root,然后settings中也要加路徑# 修改 settings.py import sys sys.path.insert(0,BASE_DIR) sys.path.insert(0,os.path.join(BASE_DIR, 'apps')) sys.path.insert(0,os.path.join(BASE_DIR, 'extra_apps'))3、創(chuàng)建 users
cd apps python ../manage.py startapp usersusers/models.py
from django.db import models from datetime import datetime from django.contrib.auth.models import AbstractUserclass UserProfile(AbstractUser):# 用戶信息GENDER_CHOICES = (("male", u"男"),("female", u"女"),)# 用戶用手機(jī)注冊(cè),姓名、生日和郵箱可以為空name = models.CharField("姓名", max_length=30, null=True, blank=True)# avatar = models.ImageField(upload_to="avatar/", verbose_name="用戶頭像", null=True, blank=True)avatar = models.CharField("用戶頭像", max_length=4096, default="avatar/", null=True, blank=True)birthday = models.DateField("出生年月", null=True, blank=True)gender = models.CharField("性別", max_length=6, choices=GENDER_CHOICES, default="male")mobile = models.CharField("電話", max_length=11, null=True, blank=True)title = models.CharField("職位", max_length=300, default="代碼人", blank=True)email = models.EmailField("郵箱", max_length=100, null=True, blank=True)class Meta:verbose_name = "用戶信息"verbose_name_plural = verbose_namedef __str__(self):return self.usernamesettings.py
#重載系統(tǒng)的用戶,讓UserProfile生效 AUTH_USER_MODEL = 'users.UserProfile'# 設(shè)置成中文環(huán)境 LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'USE_I18N = TrueUSE_L10N = TrueUSE_TZ = False4、安裝 Xadmin
安裝依賴包 pip install -r xadmin.txt將 xadmin 目錄 放到 extra_apps
# urls.py from django.urls import path import xadmin urlpatterns = [path('xadmin/', xadmin.site.urls), ]把下面兩個(gè)app注冊(cè)到settings.py的INSTALLED_APPS中
'xadmin', 'crispy_forms'5、啟動(dòng)
重新生成數(shù)據(jù)庫(kù)
python manage.py makemigrations python manage.py migrate創(chuàng)建一個(gè)管理員用戶? ps: 7net
python manage.py createsuperuser運(yùn)行
python manage.py runserverhttp://127.0.0.1:8000/xadmin
6、修改?
# users/adminx.py 新建 __author__ = '7net' import xadmin from xadmin import viewsclass BaseSetting(object):#添加主題功能enable_themes = Trueuse_bootswatch = Trueclass GlobalSettings(object):#全局配置,后臺(tái)管理標(biāo)題和頁腳site_title = "AILab"site_footer = "www.7net.cc"#菜單收縮menu_style = "accordion"xadmin.site.register(views.BaseAdminView, BaseSetting) xadmin.site.register(views.CommAdminView, GlobalSettings)修改app名字為中文
# users/apps.pyfrom django.apps import AppConfigclass UsersConfig(AppConfig):name = 'users'#app名字后臺(tái)顯示中文verbose_name = "用戶管理" # users/__init__.pydefault_app_config = 'users.apps.UsersConfig'7、創(chuàng)建前端
vue init webpack front
cd front
npm install -D node-sass sass-loader
# 安裝 UI 框架?https://element.eleme.cn/#/zh-CN
npm i element-ui -S
拷貝 static/css 主題文件
src 目錄下創(chuàng)建api、store、axios,并創(chuàng)建相應(yīng)的 index.js 文件
在 main.js 加載
安裝 axios 用于http請(qǐng)求? ? ?npm install --save axios
安裝 vuex 用于 web 存儲(chǔ)? ?npm install --save vuex
$?npm run dev
創(chuàng)建 components/Home.vue
8、實(shí)現(xiàn)登錄
使用 rest 框架
$?pip install djangorestframework==3.10.2
- pip install coreapi? ? ? ? ? ? ? ? ? ? ? ? ?drf的文檔支持
- pip install django-guardian? ? ? ? ? ?drf對(duì)象級(jí)別的權(quán)限支持
- pip install django-cors-headers 跨域問題
重新生成數(shù)據(jù)庫(kù)
安裝 jwt 登錄??
pip install djangorestframework-jwt自定義用戶登錄
http://127.0.0.1:8000/docs
?
?
?
?
總結(jié)
- 上一篇: 你了解Redis集群中的秘密吗?
- 下一篇: [Linux] Linux文件系统