1.使用cmd创建项目
在你需要创建项目的文件夹中打开cmd,进入对应的Django的虚拟环境中输入下面语句:
django-admin startproject drfproject
然后使用pycharm打开项目
2.创建子apps
在tirminal中输入:
python manage.py startapp user
python manage.py startapp shop
3.注册子引用
进入setting中注册子应用:
4.在user的model中写入user对象
因为Django有自带用户管理,但是中国人的user管理习惯于外国人不同应该要重新进行修改,如果在项目一开始的时候没有创建user对象的话,则就需要看我的另外一个教程,里面有解决方案;
model.py
:
class User(AbstractUser):
mobile = models.CharField(max_length=15, unique=True, verbose_name="手机号码")
avatar = models.ImageField(upload_to="avatar", null=True, blank=True, verbose_name="用户头像")
wxchat = models.CharField(max_length=64, default=True, blank=True, verbose_name="微信号")
class Meta:
db_table = "drf_user"
verbose_name = "用户信息"
verbose_name_plural = verbose_name
为了便于后面的drf学习,我们创建了shop模型:
from django.db import models
# 创建类型对象
class Category(models.Model):
name=models.CharField(max_length=20,verbose_name="分类名")
def __str__(self):
return self.name
class Meta:
db_table = "category"
verbose_name = "商品类型"
verbose_name_plural = verbose_name
# 创建商品对象
class Goods(models.Model):
name=models.CharField(max_length=100,verbose_name="商品名称")
desc=models.CharField(max_length=100,null=True,verbose_name="商品描述")
def __str__(self):
return self.name
category=models.ForeignKey(Category,on_delete=models.CASCADE,verbose_name="分类")
class Meta:
db_table = "goods"
verbose_name = "商品信息"
verbose_name_plural = verbose_name
5.进行数据迁移
python manage.py makemigrations
python manage.py migrate
6.创建一个超级管理员用户
因为Django自带一个管理系统,我可以创建一个超级管理员用户,直接对我们创建的数据进行管理:
在终端中输入:
python manage.py createsuperuser
user:root
password:123456
其他的输入直接可以跳过,然后y就创建一个超级管理员用户了.
7.将对象注册到admin中
点击shop
目录下的admin,然后注册:
from django.contrib import admin
from shop.models import Category, Goods
# Register your models here.
admin.site.register(Category)
admin.site.register(Goods)
点击 user
目录下的admin,然后注册:
admin.site.register(User)
8.运行admin程序
在Django提供的链接后面加一个admin,即可进入admin系统
http://127.0.0.1:8000/admin/
即可看到下面的页面:
8.在总路由中引入子路由
在子app的目录下面创建urls.py
文件:
from django.conf.urls import url
from . import views
# 设置app的名字
app_name="shop"
urlpatterns = [
url(r'^$', views.index,name='index'),
]
在总路由里面添加子路由:
drfproject下面的urls
urlpatterns = [
path('admin/', admin.site.urls),
path('shop/', include('shop.urls',namespace='shop')),
]
此时的Django项目已经搭建完毕了,后续接着讲解如何使用drf