webGIS實踐(geoserver+openlayer+django)4_1_python django實現http get和post

因爲我們要用django做geoserver+openlayer的後端,所以只看get和post怎麼實現就行了。

一、結構

工程結構如下圖:

在新建工程的基礎上,新建了一個gismap/geoserver.py;在templates中新建了兩個頁面get.html和post.html。

 

 

二、程序

1. geoserver.py

一共三個方法,一個是get請求,一個是post請求,一個是渲染get頁面。

# -*- coding: utf-8 -*-
from django.http import HttpResponse
from django.shortcuts import render
# 接收get請求數據
def get(request):
    request.encoding = 'utf-8'
    if 'q' in request.GET and request.GET['q']:
        message = '你搜索的內容爲: ' + request.GET['q']
    else:
        message = '你提交了空表單'
    return HttpResponse(message)
# 接收POST請求數據
def posthtml(request):
    ctx ={}
    if request.POST:
        ctx['rlt'] = request.POST['q']
    return render(request, "post.html", ctx)
# 渲染表單
def gethtml(request):
    return render(request, 'get.html')

 

2.urls.py

用來定義url跳轉的方法。

from django.conf.urls import url
from . import geoserver
urlpatterns = [
    url(r'^get$', geoserver.get),
    url(r'^gethtml$', geoserver.gethtml),
    url(r'^posthtml$', geoserver.posthtml),
]

 

3.get.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>django get頁面</title>
</head>
<body>
    <form action="/get" method="get">
        <input type="text" name="q">
        <input type="submit" value="搜索">
    </form>
</body>
</html>

 

4.post.html

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>django post頁面</title>
</head>
<body>
    <form action="/posthtml" method="post">
        {% csrf_token %}
        <input type="text" name="q">
        <input type="submit" value="提交">
    </form>
    <p>{{ rlt }}</p>
</body>
</html>

 

  1. 其他

不同的django版本創建的web模板會略有不同。

Python3.7+django3.0.6,已經配好了templates的路徑,不需要修改了。

如果配置信息有需要修改的,在settings.py中修改。

 

三、效果

效果很簡單。

運行:python manage.py runserver 0.0.0.0:5000

首先訪問127.0.0.1:5000/gethtml

在文本框中隨便寫點什麼,點擊搜索。

 

跳轉至:127.0.0.1:5000/get?q=test

 

訪問:127.0.0.1:5000/posthtml

隨便寫點什麼,提交之後,就會在文本框下面顯示。

 

這是最簡單的get和post。

接下來,我們要看看怎麼轉發geoserver的WMS服務。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章