创建一个投票的应用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)的更多相关文章

  1. Django 创建第一个项目(转)

    转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...

  2. django创建第一个项目helloworld

    环境:centos 7,已安装python 3.6环境 1.安装django并创建django第一个项目 1.1.使用pip安装django# pip install Django或指定安装版本# p ...

  3. python+Django创建第一个项目

    1.首先搭建好环境 1.1 安装pyhton,Linux系统中,python是系统自带的所以就不用安装 1.2 安装Django框架 使用pip安装: pip install django 1.3 检 ...

  4. Django创建第一个应用

    一.创建第一个应用,并在settings.py中添加. python manage.py startapp article 二.创建第一个模型 class Article(models.Model): ...

  5. 【3】Django创建第一个项目

    天地所以能长且久者,以其不自生,故能长生. --老子<道德经> 写在前面:Django在学习的过程中,我们会参考官方文档,从两部分进行讲解,第一部分主要是一个入门项目的搭建开发,第二部分是 ...

  6. 吴裕雄--天生自然Django框架开发笔记:Django 创建第一个项目

    Django 管理工具 安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin.可以使用 django-admin 来创建一个项目: 可以来看下django-admin ...

  7. 【4】Django 创建第一个模块应用

    大成若缺,其用不弊.大盈若冲,其用不穷.大直若屈.大巧若拙.大辩若讷.静胜躁,寒胜热.清静为天下正 --老子<道德经> 本章内容 创建应用(app) 开发第一个视图(View) URL访问 ...

  8. django创建第一个视图-4

    创建视图 打开 demo 应用下的 views.py 文件,添加代码 from django.http import HttpResponse from django.shortcuts import ...

  9. Python使用Django创建第一个项目

    一 必要环境安装 1首先确保安装了Python3,在此使用的系统为Ubuntu @ubuntu:~$ python3 Python 3.6.7 (default, Oct 22 2018, 11:32 ...

随机推荐

  1. Jmeter中用例禁用

    1.在线程组下创建2个http请求(blogs和baidu),并且在Thread Group 添加[View Results Tree]和[View Results in Table] 2.选择[ba ...

  2. 读《疯狂Java讲义》笔记总结二

    1.变量分类图 2.通过实例访问静态变量(类变量) 3.静态导入 4.构造器 5.创建对象内存过程

  3. day 14 C语言strcmp()函数:比较两个字符串

    (1).下列关于C语言文件的叙述中正确的是[C] (A).文件由一系列数据依次排列组成,只能构成二进制文件 (B).文件由结结构序列组成,可以构成二进制文件或文本文件 (C).文件由数据序列组成,可以 ...

  4. Prometheus-operator 介绍和配置解析

    随着云原生概念盛行,对于容器.服务.节点以及集群的监控变得越来越重要.Prometheus 作为 Kubernetes 监控的事实标准,有着强大的功能和良好的生态.但是它不支持分布式,不支持数据导入. ...

  5. gin中绑定html复选框

    main.go package main import "github.com/gin-gonic/gin" type myForm struct { Colors []strin ...

  6. How to check in Windows if you are using UEFI

    You might be wondering if Windows is using UEFI or the legacy BIOS, it's easy to check. Just fire up ...

  7. Spring专题2: DI,IOC 控制反转和依赖注入

    合集目录 Spring专题2: DI,IOC 控制反转和依赖注入 https://docs.spring.io/spring/docs/2.5.x/reference/aop.html https:/ ...

  8. Loadrunner11录制移动端测试脚本(原文:http://blog.csdn.net/zhailihua/article/details/73610317)

    一.LR配置 1)LR设置代理,利用手机录制脚本 1-协议选择Web(HTTP/HTML)协议即可 2-录制开始前,对Recoding Options中的Port Mapping配置如下 a.新建Ne ...

  9. jsp 4-15

  10. 如何在 python 中提取图片主题色

    前言 在 Groove 音乐中,当我们改变歌曲时,底部播放栏的颜色会随专辑封面而变,比如下图中播放栏的颜色变成了 aiko 衣服的颜色.下面我们会在 python 中实现相同的效果,也就是提取出图片中 ...