Django创建第一个应用App(3)
创建一个投票的应用app。现在已经创建好了一个项目,就是有了一个框架,有了框架之后就可以往框架里面填写一些自己的需求,就是放一些功能在里面即可。一个项目可以包含多个应用app,一个应用app可以属于多个项目。每一个应用就是该项目的一个功能。
现在在该项目里面创建第一个投票的应用程序:在命令行输入创建应用程序的命令------>polls为应用的名称
$ python manage.py startapp polls
现在就创建好了一个名叫polls的应用程序,当创建好一个app时框架会给我们创建一个app的目录,该目录结构为:
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
对app目录结构的说明理解:
polls:应用程序app的名字。
__init__.py:告诉python这是一个python包。
admin.py:app的后台管理工具。
apps.py:应用文件。
models.py:模型文件。
tests.py:测试文件。
views.py:视图文件。
*migrations.py:这是比较重要的文件,用来迁移数据的。就是每写一个model,就需要迁移数据,这样才能在数据库里面生成对应的表。
*特别说明(再一次说明):makemigrations是生成迁移文件。migrate是执行迁移文件(最终在数据库里面生成表)。
现在已经在该项目里面创建好一个app了,那么接下来就是给这个app添加功能了~~~~~~~~~~~~~~~~~~~~~~~
首先写一个视图,打开views.py在里面添加该视图的功能代码:
from django.http import HttpResponse def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
说明:这表示创建了一个叫index的函数(视图);这个视图的作用是向请求者返回’ Hello, world. You're at the polls index.’这一段字符串。现在写好了这个最简单的视图,如何调用这个视图呢?django是如何知道我们要返回这个视图呢?什么时候要返回这个视图呢? 这时就表现出django的路由系统的强大的了。此时我i们需要将这个视图映射到一个url。我们需要在这个应用app里面创建一个路由URLconf,该路由的文件名称为urls.py。此时的app的目录结构就多了一个urls.py的文件:
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
urls.py
views.py
此时就有了该app的路由系统了,打开该文件,进行配置:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
]
这个格式是固定的,只需要改path函数里面的内容就可以了。这是app路由系统的配置;说明:就是说路由到这一步了,然后就返回index视图就可以了。
现在关于应用程序app的配置完成了,那么现在配置根url配置完成,也就是配置 项目的url。白话理解:就是框架接收到客户端的请求,然后框架首先匹配根的url,再匹配app的url,匹配成功后就返回该请求的视图。要一级一级的匹配。
现在打开项目的urls.py ,往里面添加一条路由(添加的路由就是刚刚写的那个app):
from django.contrib import admin
from django.urls import include, path urlpatterns = [
path('polls/', include('polls.urls')),//这个就是添加的app路由
path('admin/', admin.site.urls),
]
添加的app路由说明:polls/ app的名称,include(‘polls.urls’):就是让框架去找polls的路由系统。:就是先从根url匹配,匹配成功之后,再去子级的url进行匹配,直到全部匹配完成,在返回最后的视图。
还有一步就是写好app之后得告诉框架我们有一个app,也就是在项目里面注册app:打开项目的settings.py ,找到里面的INSTALL_APPS 在里面输入刚刚写的app名称即可,或者按照里面的格式也可以。到这里就完成了Django一个应用程序app的编写,也就是往项目里添加了一个功能(polls功能)投票功能。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
说明两个函数:
1、path()函数:path函数有四个参数:前面俩个是必须要有的,一个是route参数(即路由参数)一个是view参数(即视图参数);后面两个可选,一个是kwargs参数(传一个字典给目标视图)一个是name参数(可以全局的引用某一个url)。
2、include()函数:include()函数允许引用其他 URLconfs。每当 Django 遇到 时include()函数,它都会切断与该点匹配的 URL 的任何部分,并将剩余的字符串发送到包含的 URLconf 以进行进一步处理。
现在就完成了一个项目app的编写。运行该项目,输入app指定的url就可以得到刚刚编写的app视图里面的内容了~~~
Django创建第一个应用App(3)的更多相关文章
- Django 创建第一个项目(转)
转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...
- django创建第一个项目helloworld
环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# p ...
- python+Django创建第一个项目
1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...
- Django创建第一个应用
一.创建第一个应用,并在settings.py中添加. python manage.py startapp article 二.创建第一个模型 class Article(models.Model): ...
- 【3】Django创建第一个项目
天地所以能长且久者,以其不自生,故能长生. --老子<道德经> 写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是 ...
- 吴裕雄--天生自然Django框架开发笔记:Django 创建第一个项目
Django 管理工具 安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 可以来看下django-admin ...
- 【4】Django 创建第一个模块应用
大成若缺,其用不弊.大盈若冲,其用不穷.大直若屈.大巧若拙.大辩若讷.静胜躁,寒胜热.清静为天下正 --老子<道德经> 本章内容 创建应用(app) 开发第一个视图(View) URL访问 ...
- django创建第一个视图-4
创建视图 打开 demo 应用下的 views.py 文件,添加代码 from django.http import HttpResponse from django.shortcuts import ...
- Python使用Django创建第一个项目
一 必要环境安装 1首先确保安装了Python3,在此使用的系统为Ubuntu @ubuntu:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32 ...
随机推荐
- Spring系列1:Spring基本概念
本文内容 什么是Spring? 为什么学Spring? 本系列包含哪些技术? 本系列适合哪些人? 什么是Spring? 基本概念 Spring 框架为现代基于 Java 的企业应用程序提供了一个全面的 ...
- 局域网内部怎么安全接入U盘?
准备工具: 内部专用U盘一个: 能连接外网的电脑(暂称"安全机")一个. 第一.安全机上安装360杀毒.360安全卫士或其它安全软件.并经常更新病毒库.木马库. 第二.外来U盘先通 ...
- 【机器学习】HMM
机器学习算法-HMM 目录 机器学习算法-HMM 1. 模型定义 2. 序列生成 3. 概率计算 3.1 前向计算 3.2 后向计算 4. 学习 4.1 求解 4.2 求解 4.3 求解 5. 预测 ...
- 刷机错误ERROR:STATUS_BROM_CMD__FAIL
ERROR:STATUS_BROM_CMD_STARTCMD_FAIL window驱动没有安装好,几乎所有安装包都有问题,很难成功,成功了也很慢.这是因为之前检测到且烧写错误,然后上一次的驱动错误连 ...
- 学习鸟哥linux私房菜--安装centos5.6(u盘安装,中文乱码)
题头为"学习鸟哥Linux私房菜"的内容,均为博主在看鸟哥的Linux私房菜第三版的学习经历收获.以下正文: 鸟哥第一部分讲Linux规则与安装,看到第四章正式开始讲实际安装,于是 ...
- 论文解读第三代GCN《 Deep Embedding for CUnsupervisedlustering Analysis》
Paper Information Titlel:<Semi-Supervised Classification with Graph Convolutional Networks>Aut ...
- gin中的路由参数
package main import ( "fmt" "github.com/gin-gonic/gin" ) func main() { router := ...
- golang中文件和路径用法
package main import ( "fmt" "io/fs" "io/ioutil" "os" "p ...
- iptables匹配条件总结1
源地址 -s选项除了指定单个IP,还可以一次指定多个,用"逗号"隔开即可 [root@web-1 ~]# iptables -I INPUT -s 172.16.0.116,172 ...
- 手把手教你丨小熊派移植华为 LiteOS-M
摘要:本文详细讲解如何移植 LiteOS 到小熊派. 本文分享自华为云社区<小熊派移植华为 LiteOS-M(基于MDK)>,作者: JeckXu666. 前言 之前使用小熊派实现了鸿蒙动 ...