django路由寻址与获取数据的几种方式(其一)

一路由寻址过程:
1,首先加载setting文件,seting文件找到项目全局路由!
   ROOT_URLCONF = 'demo.urls'

   2,在全局路由之中指定app项目路由!在全局路由之中指向每个模块的路由地址!

urlpatterns = [
              #admin 是自定义的模块!
              url(r'^admin/', admin.site.urls),
              # 第一个参数是指的是匹配的app模块,第二个参数是指向模块之中的url寻址文件!
               url(r'^user/', include('users.urls', namespace='user')),
           ]

    3,在app模块之中(新建的urls.py 文件!)指定具体的视图函数

urlpatterns = [
         # 第一个参数是指的是匹配的路径,第二个参数是指路由函数
         url(r'index/', views.index),

      ]
二,django获取数据的几种形式
1,获取url参数 http://127.0.0.1:8000/user/weather/hello/123
    # url定义:可以不采用命名的形式!
    url( r'weather/(?P<city>\w+)/(?P<year>\d+)$', views.weather ),
    # 传参只能够是 util memory temperature 这三个值
    url( r'^(?P<pk>util|memory|temperature)/$', views.Home.as_view(), name='home' )

    定义视图:

  def weather(request, year, city):
       return HttpResponse(city + year)  
2,通过key - velues 的形式来获取数据
列表的形式获取数据a !http://127.0.0.1:8000/user/http_responses/?a=2&b=3&a=4
   def http_responses(request):
         # 获取到的值并不是数字,而是字符串!
         # 并不是GET请求获取方式!是指的是k:v 的获取形式!
         a_values = request.GET.getlist('a')
         b_values = request.GET.get('b')
         print(a_values)  # 打印结果为 ['2', '4']
         return HttpResponse(b_values)
3,如果是form 表单的形式就用request的形式
      def http_responses(request):
          a_values = request.POST.getlist('a')
          b_values = request.POST.get('b')
          print(a_values)
          return HttpResponse(b_values)     

 

posted @ 2018-06-08 22:31  十七楼的羊  阅读(374)  评论(0编辑  收藏  举报