location 最后一个文件夹名就是project名,我用了Django_Plan。
Application 是自动加入的APP名字,我用了Plan
编辑Django_Plan\Django_Plan\urls.py
from django.contrib import admin
from django.urls import path
from Plan import views
urlpatterns = [
???path(‘admin/‘, admin.site.urls),
???path(‘plan‘, views.plan) ???#此行为增加的
]
编辑Django_Plan\Plan\views.py
from django.shortcuts import renderfrom django.shortcuts import HttpResponse ?#此行增加# Create your views here.def plan(request): ??????????????????#此函数增加 ???return HttpResponse(‘hello‘)
好了,我们增加了一个url解析,解析到plan函数,进行http返回给浏览器。
试一下,浏览器http://localhost:8000/plan,会看到hello。用的是HttpResponse函数。
平时访问的页面那么多内容,我们不能都写在HttpResponse中呀。
我们用模板吧。
建立一个hello.html文件放在Django_Plan\templates\hello.html
内容为:
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Hello</title></head><body><h1>hello</h1> ???</body></html>
编辑Django_Plan\Plan\views.py
from django.shortcuts import renderfrom django.shortcuts import HttpResponse ?#此行增加# Create your views here.def plan(request): ??????????????????#此函数增加 ???return render(request,‘hello.html‘)
检查Django_Plan\Django_Plan\settings.py(难道我用最新的django2.0,pycharm就不自动创建了?)
TEMPLATES = [ ???{ ???????‘BACKEND‘: ‘django.template.backends.django.DjangoTemplates‘, ???????‘DIRS‘: [os.path.join(BASE_DIR,‘templates‘)], ???#注意此行 ???????‘APP_DIRS‘: True, ???????‘OPTIONS‘: { ???????????‘context_processors‘: [ ???????????????‘django.template.context_processors.debug‘, ???????????????‘django.template.context_processors.request‘, ???????????????‘django.contrib.auth.context_processors.auth‘, ???????????????‘django.contrib.messages.context_processors.messages‘, ???????????], ???????}, ???},]
好了,这下浏览器返回的就是我们的模板文件内容,h1格式的hello
我们还需要动态生成页面,继续编辑hello.html,给输出的hello加上两个大括号
<!DOCTYPE html><html lang="en"><head> ???<meta charset="UTF-8"> ???<title>Hello</title></head><body><h1>{{ hello }}</h1></body></html>
编辑Django_Plan\Plan\views.py
from django.shortcuts import renderfrom django.shortcuts import HttpResponse ?#此行增加# Create your views here.def plan(request): ??????????????????#此函数增加 ???return render(request,‘hello.html‘,{‘hello‘:‘hello jack‘})
这里就是在render的参数中又加了一个字典,把hello换成hello jack,再返回给客户端浏览器。
打开页面试试吧。
Django(三)url和返回
原文地址:http://www.cnblogs.com/jackadam/p/8094093.html