1.DjangoRestFramework【前后端分离项目搭建】

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于 Django 的前后分离可以使用 Django Rest Framework(DRF)来实现。DRF 是 Django 的一个扩展,提供了一整套用于构建 Web API 的工具和框架,可以让我们轻松地将 Django 应用程序转换为 Web API 服务。 下面是实现步骤: 1.安装 Django 和 DRF: ``` pip install django pip install djangorestframework ``` 2.创建一个 Django 项目和应用程序: ``` django-admin startproject myproject cd myproject python manage.py startapp myapp ``` 3.在应用程序的 models.py 中定义用户模型,并使用 Django 自带的用户认证系统(或自定义认证系统): ```python from django.contrib.auth.models import AbstractUser class User(AbstractUser): pass ``` 4.在应用程序的 serializers.py 中定义用户序列化器以便将用户模型转换为 JSON 格式: ```python from rest_framework import serializers from myapp.models import User class UserSerializer(serializers.ModelSerializer): class Meta: model = User fields = ('id', 'username', 'email') ``` 5.在应用程序的 views.py 中定义用户视图,使用 DRF 提供的视图类来处理 HTTP 请求: ```python from rest_framework import generics from myapp.models import User from myapp.serializers import UserSerializer class UserList(generics.ListCreateAPIView): queryset = User.objects.all() serializer_class = UserSerializer class UserDetail(generics.RetrieveUpdateDestroyAPIView): queryset = User.objects.all() serializer_class = UserSerializer ``` 6.在应用程序的 urls.py 中定义用户 URL,指向用户视图: ```python from django.urls import path from myapp.views import UserList, UserDetail urlpatterns = [ path('users/', UserList.as_view()), path('users/<int:pk>/', UserDetail.as_view()), ] ``` 7.在前页面中发送 HTTP 请求到后 URL,获取用户数据: ```javascript // 使用 jQuery 或其他库发送 HTTP GET 请求 $.ajax({ url: '/api/users/', type: 'GET', dataType: 'json', success: function(data) { // 处理返回的用户数据 console.log(data); }, error: function(xhr, status, error) { // 处理错误 console.error(error); } }); ``` 8.在前页面中使用 AJAX 技术将表单数据发送到后 URL,进行用户登录: ```javascript // 使用 jQuery 或其他库发送 HTTP POST 请求 $.ajax({ url: '/api/login/', type: 'POST', dataType: 'json', data: { username: $('#username').val(), password: $('#password').val() }, success: function(data) { // 处理返回的用户数据 console.log(data); }, error: function(xhr, status, error) { // 处理错误 console.error(error); } }); ``` 以上就是基于 Django 的前后分离实现用户登录的一般步骤。具体实现可能因项目需求而异,需要根据实际情况进行调整和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值