从这一篇笔记开始将根据 Django 的官方文档,阅读整理之后,出一系列笔记教程,用作新手入门教程或者自己做查阅。

此次 Django 的版本为 3.2,且之后的一系列笔记都将以这个版本为基础,做功能的测试和验证。

本篇笔记的目录索引如下:

  1. 创建环境
  2. 运行系统,在浏览器中访问
  3. 介绍 Django 的 application 的基本框架
  4. 创建视图和接口,在浏览器中访问接口

1、创建环境

首先默认我们已经配置好了环境,或者能够使用 pycharm 来操作。

使用 conda 创建一个虚拟环境,用的是 py3.6:

conda create -n func_test python=3.6

进入虚拟环境:

source activate func_test

安装 Django 的版本为 3.2,通过指定源来加速安装:

pip3 install django==3.2 -i https://mirrors.aliyun.com/pypi/simple/

然后选择一个目录,假设是 ~/ 下,创建一个项目名称为 hunter 的项目,以下是创建命令:

django-admin startproject hunter

然后可以看到在 ~/ 下会出现一个 名为 hunter 的文件夹,这就是我们刚刚创建好的系统。

至此,一个 Django 系统就创建完成了。

2、运行系统,在浏览器中访问

进入这个文件夹,然后就进入了这个项目的根目录,(在此,称进入这个文件夹下第一级目录,为项目根目录):

cd hunter

运行启动命令,以下是启动命令:

python3 manage.py runserver 0:9898

当我们在浏览器中访问 localhost:9898,看到如下页面,即系统运行成功:



如果是自己服务器或者其他 ip 运行的命令,更改前面的 localhost 即可。

3、介绍 Django 的 application 的基本框架

当我们进入项目的根目录,可以看到有一个 manage.py 文件 和一个与我们项目名称相同的文件夹。

manage.py 文件是我们运行系统,以及之后同步数据库结构等操作的一个文件,后续会用到。

hunter 文件夹是我们系统放置的一些默认的配置文件等,进入其中,可以看到一个 settings.py 文件和 urls.py 文件,后面我们会用上。

一个系统,会有很多的功能模块,相对应的功能都会被归属到相应的模块下面,现在我们来创建一个 模块,以下是创建命令:

python3 manage.py startapp polls

python3 manage.py startapp 是固定语法,表示我们需要创建一个模块,在 Django 称之为 application, polls 是模块的名称,可以任意指定。

之后便可以看到项目根目录下出现一个新的名为 polls 的文件夹,有关 polls 的功能函数都可以在里面撰写。

每创建一个新的 application,里面的文件都是固定的,可以看到里面有一个 migrations 的文件夹,里面会存放每次对数据库表进行的更改的文件,这个后续再详述。

还会有一个 views.py 文件,这个文件是视图文件,我们对接口的相关处理逻辑都会在这个里面填写。

那么接口名称的定义文件呢,我们下一步来操作。

4、创建视图和接口,在浏览器中访问接口

可以看到在项目根目录下的 hunter 文件夹下 有一个 urls.py 文件,那是我们 接口定义的总入口,如果我们需要为 某个 application 定义自有的接口前缀,需要进行如下配置,编辑 hunter/urls.py,使其如下:

# hunter/urls.py
from django.contrib import admin
from django.urls import path, include urlpatterns = [
path('admin/', admin.site.urls),
path('polls/', include('polls.urls')),
]

然后,所以 polls 下的接口前缀就如上面的代码所示,都是 polls 开头了。

然后我们在 polls 这个application 下新增一个 urls.py 文件,写上如下代码:

from django.urls import path

from polls import views

urlpatterns = [
path("", views.index),
]

可以看到 在 polls/urls.py 下,我们引入了 polls/views.py 文件,并使用了其下的 index 函数,接下来编辑 polls/views.py 文件:

# polls/views.py
from django.http import HttpResponse def index(request):
return HttpResponse("Hello, this is polls")

然后在项目根目录下运行我们的系统:

python3 manage.py runserver 0:9898

在浏览器中访问 http://localhost:9898/polls,可以看到如下截图:



说明我们刚刚用 Django 跑通了我们写的第一个接口。

以上就是本文全部内容,本文首发于本人微信公众号:Django笔记。

原文链接:Django笔记一之创建并运行系统

如果想获取更多相关文章,可扫码关注阅读:

Django笔记一之运行系统、创建视图并访问的更多相关文章

  1. Python之路【第二十三篇】:Django 初探--Django的开发服务器及创建数据库(笔记)

    Django 初探--Django的开发服务器及创建数据库(笔记) 1.Django的开发服务器 Django框架中包含一些轻量级的web应用服务器,开发web项目时不需再对其配置服务器,Django ...

  2. django 使用createView创建视图是form_valid()没有通过?

    django 使用createView创建视图是form_valid()没有通过的原因: fields中定义的字段要与from表单中的字段相对应 修改后 接着又报错: 查看没有取到id,最后通过req ...

  3. Django创建模板、URL模式、创建视图函数

    1.在应用目录下创建模板(templates目录) 在模板目录下创建archive.html <!DOCTYPE html> <html lang="en"> ...

  4. django 创建视图和APP

    .创建视图views 1.在项目目录下创建views.py文件 2.from django.http import HttpResponse 3.在urls 导入模板: from django.con ...

  5. Django搭建后篇——启动服务器及创建视图

    开启服务器,Django开启服务器的方式有两种,一种是在Ubuntu在开启,另一种是直接在pycharm开启.就方便而言肯定是第二种,但由于pycharm版本的问题,可能有的人无法直接在pycharm ...

  6. 【Django笔记2】-创建应用(app)与模型(models)

    1,创建应用(app) ​ 一个完善的网站需要许多功能提供不同的服务.如果所有的功能都在一个文件中,不利于项目多人共同开发,以及后续的维护.此时可以针对一个要实现的功能,创建一个app,将多个app结 ...

  7. Django笔记 —— Admin(Django站点管理界面)

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  8. Django笔记 —— 模型

    最近在学习Django,打算玩玩网页后台方面的东西,因为一直很好奇但却没怎么接触过.Django对我来说是一个全新的内容,思路想来也是全新的,或许并不能写得很明白,所以大家就凑合着看吧- 本篇笔记(其 ...

  9. 运维开发笔记整理-基于类的视图(CBV)

    运维开发笔记整理-基于类的视图(CBV) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.FBV与CBV 1>.什么是FBV FBC(function base views ...

  10. django 笔记

    最近开始接触django,一些基本的操作记录于此. 参考链接: http://www.ziqiangxuetang.com/django/django-tutorial.html django安装 s ...

随机推荐

  1. 我眼中的Serverless

    https://cloud.tencent.com/document/product/583 摆脱服务器.存储等底层设备,只上传代码,由云服务器提供服务的触发,维护,调用.

  2. 实时平台-Flink篇

    Flink任务统一通过实时平台统一管理的好处不用多说,这里简单介绍下实时平台-Flink模块的功能以及实现. 主要分为两大块 一.任务管理 任务管理主要包括任务的提交.暂停.下线.重启.历史版本回滚. ...

  3. Web实时通信之SignalR

    前言 对于B/S模式的项目,基础的场景都是客户端发起请求,服务端返回响应结果就结束了一次连接:但在很多实际应用场景中,这种简单的请求和响应模式就显得很吃力,比如消息通知.监控看板信息自动刷新等实时通信 ...

  4. 20202411 2020-2021-2 《Python程序设计》实验一报告

    20202411 2020-2021-2 <Python程序设计>实验一报告 课程:<Python程序设计> 班级: 2024 姓名: 陈书桓 学号:20202411 实验教师 ...

  5. Cubemx 生成工程代码失败的原因

    折腾了好久(躺)翻了很多解答试了试终于捣鼓正常了,就在这里汇总一下看到过的问题 1.文件名.工程名或者工程文件路径/库路径上有中文名 2.Cubemx的版本过高 3.java环境的版本不适配 4.可能 ...

  6. C++/Lua栈操作

    一.Lua栈结构 1. index为正数 c++获取lua的数组元素的实例: // 接口参数:void lua_rawgeti (lua_State *L, int index, int n); lu ...

  7. js获取当前日期的前七天,月份+日(数组)

    1.定义一个空对象. let dayArr = []: 2.时间格式化  function formatterDate(date,fmt){     let nowDate = {       yyy ...

  8. 主要的原型设计工具 :Axure RP

    一. Axure RP简介: Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的带注释页面示意图.操作流程图.以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示与 ...

  9. asm 理解

    stm32中有3条总线:地址总线,数据总线,系统总线:地址总线上是地址值,数据总线上是数据值,cpu读写时会先在地址总线上传输地址值,如果是写操作之后数据总线上会放往前面地址处写入的数据值,如果是读操 ...

  10. visio使用直线绘图后不能更改

    选中图形->开发工具->行为