视图与网址上面的加减法
【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))