【Django02】视图与网址

创建project和app

在此前的学习中已经创建过测试项目和应用。

一、在test_project下的子目录test_project中是一些项目的设置 settings.py 文件,总的urls配置文件 urls.py 以及部署服务器时用到的 wsgi.py 文件, init.py 是python包的目录结构必须的,与调用有关。

二、需要将新定义的app加到settings.py中的INSTALL_APPS中,新建的 app 如果不加到 INSTALL_APPS 中的话, django 就不能自动找到app中的模板文件(app-name/templates/下的文件)和静态文件(app-name/static/中的文件)。
在这里插入图片描述
在这里插入图片描述

定义视图函数

在app_test目录中的views.py中定义视图函数

# conding:utf-8

from django.http import HttpResponse

def index(request):
    return HttpResponse(u'Three little pigs')

在这里插入图片描述
第一行是声明编码为utf-8, 因为我们在代码中用到了中文,如果不声明就报错.

第二行引入HttpResponse,它是用来向网页返回内容的,就像Python中的 print 一样,只不过 HttpResponse 是把内容显示到网页上。

我们定义了一个index()函数,第一个参数必须是 request,与网页发来的请求有关,request 变量里面包含get或post的内容,用户浏览器,系统等信息在里面(后面会讲,先了解一下就可以)。

函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上。

定义视图函数相关的URL

对django_test目录中的urls.py将URL与视图相关联

from django.contrib import admin
from django.urls import path
from app_test import views as app_test_views

urlpatterns = [
    path('',app_test_views.index),
    path('admin/', admin.site.urls),
]

如果在另一台电脑上访问要用 Python manage.py ip:port的形式

在网页上做加减法

采用/add/?a=4&b=5这样GET方法进行

创建新项目

G:\Anaconda3\Scripts>python django-admin.py startproject test_cal

G:\Anaconda3\Scripts>cd test_cal

G:\Anaconda3\Scripts\test_cal>python manage.py startapp cal

#修改视图文件

from django.shortcuts import render
from django.http import HttpResponse

def add(request):
    a = request.GET['a']
    b = request.GET['b']
    c = int(a) + int(b)
    return HttpResponse(str(c))
#修改urls文件

from django.contrib import admin
from django.urls import path
from app_cal import views as cal_views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('add/',cal_views.add,name = 'add'),
]

在这里插入图片描述

采用/add/3/4这样的网址的方式

#在视图文件中添加add2函数

def add2(request,a,b):
    c = int(a) + int(b)
    return HttpResponse(str(c))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/cs_xuhuan/article/details/82873920
今日推荐