构建一个项目

首先,为你的 Django 应用程序创建一个目录结构,你可以在系统的任何位置创建:

$ mkdir myproject
$ cd myproject
然后,在项目目录中创建一个虚拟环境来隔离本地包依赖关系:

$ python3 -m venv env
$ source env/bin/activate
在 Windows 上,使用命令 envScriptsactivate 来激活虚拟环境。

安装 Django 和 Django REST framework

然后,安装 Django 和 Django REST 模块:

$ pip3 install django
$ pip3 install djangorestframework
实例化一个新的 Django 项目

现在你的应用程序已经有了一个工作环境,你必须实例化一个新的 Django 项目。与 Flask 这样微框架不同的是,Django 有专门的命令来创建(注意第一条命令后的 . 字符)。

$ django-admin startproject tutorial .
$ cd tutorial
$ django-admin startapp quickstart
Django 使用数据库来管理后端,所以你应该在开始开发之前同步数据库,数据库可以通过 manage.py 脚本管理,它是在你运行 django-admin 命令时创建的。因为你现在在 tutorial 目录,所以使用 ../ 符号来运行脚本,它位于上一层目录:

$ python3 ../manage.py makemigrations
No changes detected
$ python4 ../manage.py migrate
Operations to perform:
Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying admin.0003_logentry_add_action_flag_choices... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying auth.0010_alter_group_name_max_length... OK
Applying auth.0011_update_proxy_permissions... OK
Applying sessions.0001_initial... OK
在 Django 中创建用户

创建一个名为 admin,示例密码为 password123 的初始用户:

$ python3 ../manage.py createsuperuser \
--email admin@example.com \
--username admin
在提示时创建密码。

在 Django 中实现序列化和视图

为了使 Django 能够将信息传递给 HTTP GET 请求,必须将信息对象转化为有效的响应数据。Django 为此实现了“序列化类” serializers。

在你的项目中,创建一个名为 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']

Django 中的视图是一个接受 Web 请求并返回 Web 响应的函数。响应可以是 HTML、HTTP 重定向、HTTP 错误、JSON 或 XML 文档、图像或 TAR 文件,或者可以是从 Internet 获得的任何其他内容。要创建视图,打开 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

使用 Django 生成 URL

现在,你可以生成 URL 以便人们可以访问你刚起步的 API。在文本编辑器中打开 urls.py 并将默认示例代码替换为以下代码:

from django.urls import include, path
from rest_framework import routers
from tutorial.quickstart import views

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

使用自动路由 URL

还有登录 URL

urlpatterns = [

path('', include(router.urls)),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))

]
调整你的 Django 项目设置

这个示例项目的设置模块存储在 tutorial/settings.py 中,因此在文本编辑器中将其打开,然后在 INSTALLED_APPS 列表的末尾添加 rest_framework:

INSTALLED_APPS = [

...
'rest_framework',

]
测试 Django API

现在,你可以测试构建的 API。首先,从命令行启动内置服务器:

$ python3 manage.py runserver
你可以通过使用 curl 导航至 URL http://localhost:8000/users 来访问 API:

$ curl --get http://localhost:8000/users/?format=json
[{"url":"http://localhost:8000/users/1/?format=json","username":"admin","email":"admin@example.com","groups":[]}]

微软已经在MSDN上正式发布了2020年5月的Windows 10 20H1 2004 官方的ISO镜像, 允许订阅的开发者使用这些新功能。

简体中文 - 消费者版
家庭版、家庭单语言版、教育版、专业版、专业教育版、专业工作站版 (6)
文件名:cn_windows_10_consumer_editions_version_2004_x64_dvd_0c2eefdb.iso
SHA1:64940d6fbc0f24971349c8e03be508285ea29722
文件大小:5.25 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|cn_windows_10_consumer_editions_version_2004_x64_dvd_0c2eefdb.iso|5634521088|2BF3344104ECDB5AF5FD5FD92B289655|/
文件名:cn_windows_10_consumer_editions_version_2004_x86_dvd_f9233032.iso
SHA1: e85c5bba63858b37ecbe8270a308b0369be87d0b
文件大小:3.46 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|cn_windows_10_consumer_editions_version_2004_x86_dvd_f9233032.iso|3717070848|AD7B874F6143FA01F8D5C8298A9FBCD4|/
简体中文 - 商业版
教育版、企业版、专业版、专业教育版、专业工作站版 (5)
文件名:cn_windows_10_business_editions_version_2004_x64_dvd_c59a4f91.iso
SHA1:ed65cc6f3b4f90fdbdab949ba6286708e8dcf0f1
文件大小:5.15 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|cn_windows_10_business_editions_version_2004_x64_dvd_c59a4f91.iso|5527756800|DB83A470A0BC079844A9F553E8C8A44F|/
文件名:cn_windows_10_business_editions_version_2004_x86_dvd_16dd936b.iso
SHA1:5e8d355db00d647f96e57ab0fa9518752c1e32af
文件大小:3.4 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|cn_windows_10_business_editions_version_2004_x86_dvd_16dd936b.iso|3648514048|B6E6EFE7ACF59E1FA0159F6483EC6B06|/
English - Consumer
Home, Home N, Home Single Language, Education, Education N, Pro, Pro N, Pro Education, Pro Education N, Pro for Workstations, Pro N for Workstations (11)
文件名:en_windows_10_consumer_editions_version_2004_x64_dvd_8d28c5d7.iso
SHA1:cd025a75fa9b7661fd0935de7c086c322f7527ea
文件大小:5.26 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|en_windows_10_consumer_editions_version_2004_x64_dvd_8d28c5d7.iso|5650477056|364C08AEBF91C4CAA632A1D84A025E2B|/
文件名:en_windows_10_consumer_editions_version_2004_x86_dvd_fa759348.iso
SHA1: 4311e7e4a06da705aa5dfcff2ff5335eec306429
文件大小:3.4 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|en_windows_10_consumer_editions_version_2004_x86_dvd_fa759348.iso|3654866944|3F6542FEFFAFAD8F8E836FCAB4A91E98|/
English - Business
Education, Education N, Enterprise, Enterprise N, Pro, Pro N, Pro Education, Pro Education N, Pro for Workstations, Pro N for Workstations (10)
文件名:en_windows_10_business_editions_version_2004_x64_dvd_d06ef8c5.iso
SHA1:f4c69f8811f0ff5dcf88a4f88565ccba5e5373b6
文件大小:5.14 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|en_windows_10_business_editions_version_2004_x64_dvd_d06ef8c5.iso|5518630912|77FB4C7B896623F6408E9C9A70DA5CD6|/
文件名:en_windows_10_business_editions_version_2004_x86_dvd_52bfcce8.iso
SHA1:5fe5aee5b06ad4559df5500bcdf0cc736f8ee16b
文件大小:3.32 GB
发布时间:2020-05-12

下载地址:

ed2k://|file|en_windows_10_business_editions_version_2004_x86_dvd_52bfcce8.iso|3568576512|80A67AF4E1994C7BD8A86D3037CD4941|/

电信用户:

编辑短信“CXMYD#身份证号码后四位”到 10001,授权回复 Y 后,实现“漫游地查询”,可查询手机号近 15 日内的途径地信息。

移动用户:

编写 CXMYD,发送到 10086,再依据回复短信输入身份证后四位,可查询近 30 天内去过的省和直辖市。

联通用户:

手机发送“CXMYD#身份证后四位”至 10010,查询近 30 天内的全国漫游地信息。

推荐两个源

豆瓣:http://pypi.douban.com/simple/
清华:https://pypi.tuna.tsinghua.edu.cn/simple
使用方法有两种,一种为临时使用,另外一种为永久修改。

1.临时使用:

  在使用pip的时候加参数-i,如下:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

2.永久修改:

  Linux下,修改~/.pip/pip.conf(或者创建一个),将index-url变量修改为所要更换的源地址:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

  windows下,在user目录中创建一个pip目录,如C:\Users\xx\pip,新建文件pip.ini,内容如下:

 [global]
 index-url = https://pypi.tuna.tsinghua.edu.cn/simple