目录

一、环境安装

1、安装python

2、安装Django3

3、安装mysqlclient

二、项目管理

1、新建项目

2、新建app

a、修改项目目录下的 fastDjango/setting.py

b、编辑 fastDjango/urls.py 把fastApp/urls.py配置的导入,稍后会对 fastApp/urls.py进行配置(默认无此文件需要新建)

三、添加接口

1、编辑 fastApp/views.py 定义请求接口时调用的方法

2、新建 fastApp/urls.py 定义请求的接口地址及调用的方法

3、获取GET请求参数, fastApp/views.py 增加方法,同时在fastApp/urls.py中增加路由

4、获取POST请求参数, fastApp/views.py 增加方法,同时在fastApp/urls.py中增加路由

5、POST 上传文件, fastApp/views.py 增加方法,同时在fastApp/urls.py中增加路由

四、数据库操作

1、更新数据库,fastApp/model.py 增加方法

2、把mode的数据库修改提交到 migrate

3、查看0001 的数据库更新语句

4、数据库修改更新到数据库

五、启动服务


项目代码:django3-quick-start: django3 快速入门

一、环境安装

1、安装python

python >= 3.6

2、安装Django3

pip install django=3

3、安装mysqlclient

pip install mysqlclient

如果安装失败可能是没有mysqlclient环境根据官方提示安装

macOS (Homebrew)

国内源安装homebrew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

Install MySQL and mysqlclient:

# Assume you are activating Python 3 venv
$ brew install mysql
$ pip install mysqlclient

If you don't want to install MySQL server, you can use mysql-client instead:

# Assume you are activating Python 3 venv
$ brew install mysql-client
$ echo 'export PATH="/usr/local/opt/mysql-client/bin:$PATH"' >> ~/.bash_profile
$ export PATH="/usr/local/opt/mysql-client/bin:$PATH"
$ pip install mysqlclient

LINUX

Note that this is a basic step. I can not support complete step for build for all environment. If you can see some error, you should fix it by yourself, or ask for support in some user forum. Don't file a issue on the issue tracker.

You may need to install the Python 3 and MySQL development headers and libraries like so:

  • $ sudo apt-get install python3-dev default-libmysqlclient-dev build-essential # Debian / Ubuntu
  • % sudo yum install python3-devel mysql-devel # Red Hat / CentOS

Then you can install mysqlclient via pip now:

$ pip install mysqlclient

二、项目管理

1、新建项目

任意目录执行

django-admin startproject fastDjango

2、新建app

cd fastDjango #进入项目跟目录

python manage.py startapp fastApp

a、修改项目目录下的 fastDjango/setting.py

# todo 第一个修改的地方,允许任何IP访问
ALLOWED_HOSTS = ['*']# todo 第二个修改的地方,增加app
INSTALLED_APPS = ['fastApp.apps.FastappConfig', #新增加的内容'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',
]# todo 第三个修改的地方,把sqlite换成mysql
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'mydatabase','USER': 'root','PASSWORD': '12345678','HOST': '127.0.0.1','PORT': '3306',}
}

b、编辑 fastDjango/urls.py 把fastApp/urls.py配置的导入,稍后会对 fastApp/urls.py进行配置(默认无此文件需要新建)

from django.contrib import admin
from django.urls import include, pathurlpatterns = [path('fastApp/', include('fastApp.urls')),path('admin/', admin.site.urls),
]

三、添加接口

获取 url中的参数, GET请求,POST请求,上传文件

1、编辑 fastApp/views.py 定义请求接口时调用的方法

from django.http import JsonResponse
from django.views.decorators.http import require_http_methods
from django.views.decorators.csrf import csrf_exempt# @require_http_methods(["GET", "POST"])
@require_http_methods(["GET"])
def get_test(request):res = {'code': 0,'method': "GET",'msg': "Hello! This is /fastApp/index"}return JsonResponse(res)@require_http_methods(["GET"])
def api_path_params(request, id):res = {'code': 0,'method': "GET",'msg': "api_path_params is %s." % id}return JsonResponse(res)@require_http_methods(["POST"])
@csrf_exempt
def post_test(request):res = {'code': 0,'method': "POST",'msg': "csrf_exempt 是为了解决post请求安全校验报错"}return JsonResponse(res)

2、新建 fastApp/urls.py 定义请求的接口地址及调用的方法

from django.urls import path
#将fastApp/views.py 中的方法导入到fastApp/urls.py
#以便将方法与URL绑定,访问URL自动执行绑定的方法
from . import viewsurlpatterns = [# ex: /fastApp/path('', views.get_test, name='get_test'),# ex: /fastApp/5/path('<int:id>/', views.api_path_params, name='api_path_params'),# ex: /fastApp/post_testpath('post_test/', views.post_test, name='post_test'),
]

接口请求的时候先找fastDjango/urls.py的路径,当遇到fastApp/ 时自动寻找fastApp/urls.py配置

3、获取GET请求参数, fastApp/views.py 增加方法,同时在fastApp/urls.py中增加路由

@require_http_methods(["GET"])
def get_method_params(request):if request.method == 'GET':params = request.GET.lists()res = {'code': 0,'msg': "获取请求的参数",'data': dict(params)}return JsonResponse(res)

请求地址 http://0.0.0.0:8000/fastApp/get_method_params/?a=1&b=2

返回结果

{ "code": 0, "msg": "获取请求的参数", "data": {"a": ["1"],"b": ["2"]} }

4、获取POST请求参数, fastApp/views.py 增加方法,同时在fastApp/urls.py中增加路由

@require_http_methods(["POST"])
@csrf_exempt
def post_method_data(request):if request.method == 'POST':data = request.POST.lists()res = {'code': 0,'msg': "获取请求的参数",'data': dict(data)}return JsonResponse(res)

5、POST 上传文件, fastApp/views.py 增加方法,同时在fastApp/urls.py中增加路由

@require_http_methods(["POST"])
@csrf_exempt
def upload_file(request):if request.method == 'POST':with open('./fastApp/upload/upload_test.zip', 'wb+') as fp:for chunk in request.FILES['file'].chunks():fp.write(chunk)res = {'code': 0,'msg': "上传文件"}return JsonResponse(res)

四、数据库操作

如果没有配置过数据库修改 fastDjango/setting.py, 连接mysql数据库

1、更新数据库,fastApp/model.py 增加方法

from django.db import modelsclass Table1(models.Model):age = models.IntegerField(default=0)name = models.CharField(max_length=200)

2、把mode的数据库修改提交到 migrate

python manage.py makemigrations fastApp

3、查看0001 的数据库更新语句

python manage.py sqlmigrate fastApp 0001

4、数据库修改更新到数据库

python manage.py migrate

五、启动服务

修改项目目录下的 fastDjango/setting.py,允许所有host访问

ALLOWED_HOSTS = ['*']

启动服务器 0 代表 0.0.0.0

python manage.py runserver 0:8000

Django3 快速入门相关推荐

  1. Shiro第一个程序:官方快速入门程序Qucickstart详解教程

    目录 一.下载解压 二.第一个Shiro程序 1. 导入依赖 2. 配置shiro配置文件 3. Quickstart.java 4. 启动测试 三.shiro.ini分析 四.Quickstart. ...

  2. 计算机入门新人必学,异世修真人怎么玩?新手快速入门必备技巧

    异世修真人怎么快速入门?最近新出来的一款文字修仙游戏,很多萌新不知道怎么玩?进小编给大家带来了游戏新手快速入门技巧攻略,希望可以帮到大家. 新手快速入门攻略 1.开局出来往下找婆婆,交互给点钱,旁边有 ...

  3. Spring Boot 2 快速教程:WebFlux 快速入门(二)

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 原创出处 https://www.bysocket.com 「公众号:泥瓦匠BYSocket 」欢迎关注和转载,保留摘 ...

  4. Apache Hive 快速入门 (CentOS 7.3 + Hadoop-2.8 + Hive-2.1.1)

    2019独角兽企业重金招聘Python工程师标准>>> 本文节选自<Netkiller Database 手札> 第 63 章 Apache Hive 目录 63.1. ...

  5. 《iOS9开发快速入门》——导读

    本节书摘来自异步社区<iOS9开发快速入门>一书中的目录,作者 刘丽霞 , 邱晓华,更多章节内容可以访问云栖社区"异步社区"公众号查看 目 录 前 言 第1章 iOS ...

  6. BIML 101 - ETL数据清洗 系列 - BIML 快速入门教程 - 序

    BIML 101 - BIML 快速入门教程 做大数据的项目,最花时间的就是数据清洗. 没有一个相对可靠的数据,数据分析就是无木之舟,无水之源. 如果你已经进了ETL这个坑,而且预算有限,并且有大量的 ...

  7. python scrapy菜鸟教程_scrapy学习笔记(一)快速入门

    安装Scrapy Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 首先我们安装Scrapy. pip install sc ...

  8. OpenStack快速入门

    OpenStack云计算快速入门(1) 该教程基于Ubuntu12.04版,它将帮助读者建立起一份OpenStack最小化安装.我是五岳之巅,翻译中多采用意译法,所以个别词与原版有出入,请大家谅解.我 ...

  9. Expression Blend实例中文教程(2) - 界面快速入门

    上一篇主要介绍Expression系列产品,另外概述了Blend的强大功能,本篇将用Blend 3创建一个新Silverlight项目,通过创建的过程,对Blend进行快速入门学习. 在开始使用Ble ...

  10. 图文并茂!60页PPT《快速入门python数据分析路线》(附链接)

    一个月不走弯路快速入门学python和python数据分析路线,呕心沥血加班加点做了2天,一共63页,该课件讲的都是路线中的核心知识,今天把该PPT分享给大家,能根据该课件提到的知识有针对性的学,做到 ...

最新文章

  1. figtree需要在JAVA下运行吗_Phylogenomic_Tutorial || ML_Tree inference
  2. vue非编译的模块化写法
  3. Android逆向笔记-查看app的log打印(含调试方式打开)
  4. 计算机图标用鼠标双击和右键都无法启动,电脑桌面只有“我的电脑”图标双击找不开,用右键资源管理器能打开,为什么...
  5. vlc源码分析(四) 调用libts接收TS流
  6. torch.nn.Embedding()的固定化
  7. 暑假集训 div1 B Derangement 交换数字 思维死角
  8. TOGAF 10 正式发布
  9. 计算机无法安装小丸工具箱,小丸工具箱电脑版
  10. 债务纠纷案被录入终本库了怎么办?
  11. mac qq 用户信息文件夹
  12. HTML CSS之复合选择器中的交集选择器、并集选择器、后代选择器、子元素选择器、相邻兄弟选择器、属性选择器
  13. linux r语言内存查看,R语言统计与分布的相关知识
  14. CSS进阶(2)- 块级格式化上下文
  15. 泰雷兹高科技赋能全球最安全的电子护照之一,泰国公民咸受其益
  16. ps和php哪个难学,ps自学难吗
  17. c语言 滑窗法_滑动窗口算法(一)
  18. 百度地图API 使用Demo
  19. java image功能_使用JAI扩展Java Image的功能 | 学步园
  20. 系统架构——系统流程图和程序流程图的区别

热门文章

  1. informatic动态变量的创建和使用
  2. DevOps ACA 软件代码与质量管理(六)
  3. 收银系统源码,又又升级最新下载sass版了
  4. iOS编程比较好开源的完整项目iOS编程比较好开源的完整项目
  5. 智能(个性化)推荐系统全流程落地实施方案
  6. ubuntu无法定位软件包的问题
  7. Wincc RT Professional第一讲-组态
  8. 项目组最重要的三个角色
  9. Python pip卸载包
  10. 华为云计算论述题解析(1)