python 基於Digngo 開發web程序和處理get、post請求

      工做須要開發一個python功能,本人Java出身,經過Process調用時,可能會有各類問題,以前吃過c/c++程序的虧,基於本身的python功底,咬咬牙,腦殼一熱,決定開發一個python語言基於Digngo的web程序,Java經過http請求完成調用,出問題翻遍查找。html

 

一、建立項目python

    參照文檔:http://www.runoob.com/django/django-first-app.htmlc++

     安裝步驟:pip install djangoweb

     建立項目:cd 到要建立項目的目錄django

                    django-admin startproject HelloWorld(項目名)json

     運行項目:python manage.py runserver 0.0.0.0:8000     瀏覽器

                     manage.py位置在第一層項目名下。cookie

     訪問地址:http://localhost:8000/admin/數據結構

                    用戶名 admin 密碼adminapp

    建立請求:一、./HelloWorld/HelloWorld 目錄下新建view.py,寫入以下內容:

from django.http import HttpResponse
def hello(request):
    return HttpResponse("Hello world ! ")

                    二、修改urls.py,在urlpatterns中添加內容,url(r'^$',view.hello),最後的逗號必須有。

                    三、從新啓動項目,瀏覽器輸入請求地址:http://localhost:8001/ 便可看到返回結果。

 

二、異常處理

       Java請求python項目時報錯,Forbidden (CSRF cookie not set.): xxx,解決方式是,修改settings.py文件,註釋掉

        django.middleware.csrf.CsrfViewMiddleware',

 

三、請求處理

       建立項目沒有花費多少時間,主要耗費在處理功能請求上,python的get和post請求和Java有很大不一樣,它固定了數據結構,統一使用

QueryDict,這個結構是一種支持一個key ,多個value,value中又有key和value的數據結構,感受和json相似。如下是我用一個String請求後,獲取數據對象的方法。

def add(request):
    context="";
    if request.method == 'POST':
        for key in request.POST:
           context=key
    else:
        # for key in request.GET:
        #     context=key
        return HttpResponse('{"code":102,"message":"不支持get請求,請使用post請求"}')
    
    return HttpResponse('{"code":0,"message":"操做成功,請求數據'+context+'"}')
相關文章
相關標籤/搜索