首页 > 编程语言 >python 使用虚拟环境

python 使用虚拟环境

时间:2022-11-28 11:57:45浏览次数:40  
标签:python py rest framework 虚拟环境 使用 import class tutorial

创建项目目录

  • mkdir tutorial
  • cd tutorial

创建一个virtualenv来隔离我们本地的包依赖关系

  • python -m venv venv
  • env\Scripts\activate
创建项目
  • pip install djangorestframework

创建一个新项目和一个单个应用

  • django-admin startproject tutorial .
  • django-admin startapp quickstart
  • cd ..

同步数据库

  • python manage.py migrate

创建超级用户

  • python manage.py createsuperuser

编写序列化器

  • tutorial/quickstart/serializers.py
from django.contrib.auth.models import User, Group
from rest_framework import serializers


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = ('url', 'username', 'email', 'groups')


class GroupSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = Group
        fields = ('url', 'name')

编写试图

  • tutorial/quickstart/views.py
from django.contrib.auth.models import User, Group
from rest_framework import viewsets
from tutorial.quickstart.serializers import UserSerializer, GroupSerializer


class UserViewSet(viewsets.ModelViewSet):
    """
    允许用户查看或编辑的API路径。
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer


class GroupViewSet(viewsets.ModelViewSet):
    """
    允许组查看或编辑的API路径。
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer

编写路由

  • tutorial/urls.py
from django.conf.urls import include
from rest_framework import routers
from tutorial.quickstart import views
from django.urls import path

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)

# 使用自动URL路由连接我们的API。
# 另外,我们还包括支持浏览器浏览API的登录URL。
urlpatterns = [
    path('', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

设置管理专属分页

  • tutorial/settings.py
INSTALLED_APPS = (
    ...
    'rest_framework',
)

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': [
        'rest_framework.permissions.IsAdminUser',
    ],
    'PAGE_SIZE': 10
}

启动项目

  • python manage.py runserver

测试访问

curl -H 'Accept: application/json; indent=4' -u admin:password123 http://127.0.0.1:8000/users/

标签:python,py,rest,framework,虚拟环境,使用,import,class,tutorial
From: https://www.cnblogs.com/guanchaoguo/p/16931799.html

相关文章

  • python安装虚拟环境virtualenv
    1.pipinstallvirtualenv如果运行出现pythonpip报错WARNING:Runningpipasthe'root'usercanresultinbrokenpermissionsandconflictingbehaviourwiththe......
  • 学习x86汇编语言6 使用Bochs调试自己的引导程序
    一、Bochs简介Bochs是一个x86的软件模拟器,用来模拟x86CPU、一些硬件和​​BIOS​​等,可以用来运行Windows、Linux等软件。由于它是纯软件模板,所以运行速度比起​​VmWare......
  • Java多线程中锁的理解与使用
    1.简介锁作为​​并发​​共享数据,保证一致性的工具,在JAVA平台有多种实现(如synchronized和ReentrantLock等)。2.Java锁的种类公平锁/非公平锁可重入锁独享锁/共享锁互......
  • VS2019使用gtest
    VS2019使用gtestGoogleTest测试框架介绍(一)_liitdar的博客-CSDN博客_gooletest术语test/testcase/testsuitMeaningGoogleTestTermISTQBTermExercisea......
  • python3.7安装mysqlclient失败问题
    问题直接使用pipinstall安装mysqlclient最新版本2.1.1失败了,提示“Failedbuildingwheelformysqlclient”解决步骤:换wheel方式安装,去pypi官网准备下载文件,突然发......
  • Selenium4+Python3系列(十) - Page Object设计模式
    前言PageObject(PO)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一。在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成......
  • Python 爬取单个网页所需要加载的URL地址和CSS、JS文件地址
    直接上代码:脱敏后自用的py采集代码,#!/usr/bin/envpython#-*-coding:utf-8-*-"""@author:Andy@file:xxx.py@time:下午05:50@desc:采集的文章数据进博客"""im......
  • 【Amadeus原创】零基础使用vue3和elements创建应用
    一.创建环境1.创建D:\code\vue文件夹2.vscode打开文件夹3.打开终端,输入​​npminstall-g@vue/cli​​4.配置环境变量终端输入:​​npmconfiglist​​找到路径将路......
  • 直播平台制作,使用 NProgress 进度条
    直播平台制作,使用NProgress进度条第一步:安装NProgress$npminstall--savenprogress ​第二步:在main.js文件中导入NProgress包对应的JS和CSS//导入NProgress......
  • ThinkPHP6 使用原生mysql表达式
    1if(!empty($param)){2$where[]=['','exp',Db::raw("FIND_IN_SET(".$param.",mysqlfield)")];3}使用这种查询表达式,注意几点:1.数组......