前言

Django第一篇简单的介绍了环境搭建与创建Django项目的两种方式,以及如何启动服务,在前端访问HelloWorld地址,这篇内容首先学习一下Django项目中的各个模块的用途及Django视图和网址的关系,最后我们再简单的开发一个网页

模块详解

我们仍然使用上一篇文章中创建的项目,目录结构如下

django_first:这个目录最上层位项目根目录,同名的二级目录是创建项目时自动生成的(django-admin.exe startproject django_first)

app_first:创建app时自动生成的目录(python manage.py satrtapp app_first),一个django项目可以包含多个app

migrations:这个目录同样是在创建app时自动生成的,以后存放和数据库相关的文件

setting.py:整个项目的配置文件,包含了app的配置,模板的配置,数据库的配置等等全部在这个文件中

urls.py:URL配置表文件,主要是将URL映射到应用程序上。当用户请求某个URL时,django会根据这个文件夹中的映射关系指向某个目标对象(简单的说就像当你调用某一个函数时,它可以根据你的参数去找这个函数,他关联了views中的某一个函数)该对象可以是某个应用中的urls.py文件,也可以是某个具体的视图函数。在django中,这个文件也被称为URLconf,这是django非常强大的一个特性。

wsgi.py:这个文件据说是项目上线时使用的,目前用不到(资料:WSGI是 Web Server Gateway Interface缩写,它是python所选择的服务器和应用标准,django也会使用。wsgi.py定义了我们所创建的项目都是WSGI应用)

admin.py:项目的后台,只需要简单的添加一些代码即可拥有一个管理后台

apps.py:存储对应app的配置信息

models.py:与数据库操作相关,存入或读取数据时时用到这个,当然用不到数据库的时候你可以不使用

tests.py:测试项目的文件

views.py:处理用户发送的请求,从urls.py中对应过来,通过渲染templetes中的网页可以将内容显示

以上就是所有模块的主要功能,要想深入理解我觉得还要经过长时间的实践,很多理论的东西真的不 是一天两天就能理解的,所以我们目前只需要大概都是用来做什么即可

视图

故名思意,我觉得这里的视图就是访问url时,展示的内容或者一个url的功能,views.py就是存储了一些功能函数,如果你接触过QT,那么就很类似信号与槽的机制。接下来我们再简单的写一个案例-实现一个简单的计算器

views.py中写入如下代码

from django.shortcuts import render, HttpResponse

# Create your views here.
def hello_world(request):
return HttpResponse("hello world") def add(request):
a = request.GET["a"]
b = request.GET["b"]
result = int(a) + int(b)
return HttpResponse("{} + {} = {}".format(str(a), str(b), str(result))) def sub(request):
a = request.GET["a"]
b = request.GET["b"]
result = int(a) - int(b)
return HttpResponse("{} - {} = {}".format(str(a), str(b), str(result))) def mult(request):
a = request.GET["a"]
b = request.GET["b"]
result = int(a) * int(b)
return HttpResponse("{} * {} = {}".format(str(a), str(b), str(result))) def divi(request):
a = request.GET["a"]
b = request.GET["b"]
result = int(a) / int(b)
return HttpResponse("{} / {} = {}".format(str(a), str(b), str(result)))

网址

网址就是我们浏览器中输入的一串字符串,当访问某一个字符串时,浏览器会显示相应的内容,我们再urls.py中加入如下代码,使其与视图关联起来

"""django_first URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/2.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path from app_first import views urlpatterns = [
path('admin/', admin.site.urls),
path("helloworld/", views.hello_world, name="hw"), path("add/", views.add, name="add"),
path("sub/", views.sub, name="sub"),
path("mult/", views.mult, name="mult"),
path("divi/", views.divi, name="divi")
]

接下来我们启动服务,然后浏览器中输入地址 127.0.0.1:8000/计算方法名称name/?数字1&数字2, 如:http://127.0.0.1:8000/add/?a=1&b=2, 你会看到浏览器返回的数据

总结

1. 先简单了解Django项目中每一个模块的用途即可

2. views与urls的关系,能够把这两个文件中的函数与地址关联起来

3. 启动服务的命令及地址访问的方式,如果你对这个地址有疑问,可以再了解一下get请求和post请求,为后面内容打一下基础

最新文章

  1. 解析大型.NET ERP系统 界面与逻辑分离
  2. scala - multiple overloaded alternatives of method bar define default arguments
  3. BFC之宽度自适应布局篇
  4. Ubuntu 14.04下安装功能强大的屏幕截图软件 Shutter
  5. android 项目学习随笔十六( 广告轮播条播放)
  6. (转)The 9 Deep Learning Papers You Need To Know About (Understanding CNNs Part 3)
  7. Oracle性能调优(AWR)
  8. 高德JAVA笔试题
  9. logstash 安装zabbix插件
  10. javascript模式——Decorator
  11. C#学习日志 day 2 ------ 控制台颜色以及windowsphone 窗体应用试建
  12. bat启动/停止oracle服务
  13. 安装linux工作环境
  14. Matlab入门学习(矩阵、函数、绘图的基本使用)
  15. win32多线程编程
  16. 浅析C#中单点登录的原理和使用
  17. VSCode 下载Models 报错
  18. flink学习
  19. 去掉win7快捷方式小箭头
  20. Java基础_0306:数组的定义与使用

热门文章

  1. java 内存操作流
  2. P1090 后缀表达式
  3. Redis 命令行工具能这样用你知道了吗?
  4. CF241B Friends
  5. POJ 2253 Frogger(SPFA运用)
  6. 2018-10-19-jekyll-添加-Valine-评论
  7. H3C tracert命令的输出
  8. 快排java代码
  9. springcloud玩转单点登录【oauth】
  10. CodeForces 796D