django---视图(知识点)----2018.1.2

1.创建404.html  

意义:一旦输入有误,不会直接报错。

第一步:修改settings.py文件


讲上面的改为下面的

第二步:在templates文件下,创建404.html \

2.做views的页面跳转

第一步:创建项目里urls.py

urlpatterns=[

        url(r'^admin/', include(admin.site.urls)),

        url(r'^depart/',include('company.urls',namespace='company')),          

        url(r'^com/',include('company.urls')),

]

 namespace-----是为了把网站的相对路径变为绝对路径。(包括我们html里面的a链接 href="namespace:name")往后如果修改r后面的路径,不影响使用

第二步:创建app下面的urls.py

from django.conf.urls import include,url

from django.contrib import admin

from . import views

urlpatterns = [

        url(r'^admin/', include(admin.site.urls)),

        url(r'^companyA/$',views.departall,name='departall'),

        url(r'^company/add$',views.depart_add,name='depart_add'),

        url(r'^company/add_list$',views.departNewAdd,name='departNewAdd'),

        #url(r'^companyOne/(\b+)',views.departMobanOne),

]

第三步:创建app下的views.py                  创建首页面 departall   -------创建增加内容页面  depart_add--------创建提交页面 departNewAdd

from django.shortcuts import render

from django.http import *

from .models import *

from django.core.urlresolvers import reverse

# Create your views here.

#def haha(request):

#      return HttpResponse('haha...')

def departall(request):

        bookinfo_list =depart.objects.all()

        context={

                'departName':bookinfo_list,

                'titlt':'这是部门名'

        }

        return render(request=request,template_name='companyall/departall.html',context=context)

def departMobanOne(request,pk):

        bookinfo_list =depart.objects.get(pk=pk)

        context={

                'departName':bookinfo_list,

                'titlt':'这是部门名'

        }

        return render(request=request,template_name='companyall/depart_info.html',context=context)

def depart_add(request):

        return render(request=request,template_name='companyall/depart_add.html',context=None)

def departNewAdd(request):

        #处理新增

        infos=request.POST

        depart1=infos.get('btitle')

        #包装对象

        depart2=depart()

        depart2.dname=depart1

        depart2.save()

        #转发

        #return departall(request)         ------重新调用函数

      #重定向

       url=reverse('company:departall')-------需要返回的页面的namespace:name

        return HttpResponseRedirect(url)·    

转发:客户发送一次请求(增填内容的一个页面),服务端只给一次响应(新的页面),但是路径还是第一次的路径,(并且程序内部跳转一次)。但客户在新的页面刷新。页面会直接报错

充定向:客户发送一次请求,程序响应一次(提醒客户在发送一次请求,这都是程序内部自己实现的)。程序在响应一次。

客户在刷新页面,还可以正常使用

你可能感兴趣的:(django---视图(知识点)----2018.1.2)