Swift 編寫APP Django提供API 學習 -1.搭建后端API

1.Django創(chuàng)建MoyaDemo項目 +MySQL

2.編寫API

3.創(chuàng)建Swift APP

4.Moya封裝網(wǎng)絡請求

5.APP中調用 API實現(xiàn)注冊

6.app登錄


1.打開Pycharm 新建Django項目雷厂,python版本選用的是3.5 她按,項目命名為:MoyaDemo,APP命名為Moya

創(chuàng)建完成后:

直接運行項目:

得到下面的截圖图甜,說明系統(tǒng)正常啟動了乎澄。

2.更換數(shù)據(jù)庫壤短,將數(shù)據(jù)庫更換成Mysql,先安裝pymysql插件雁社,將django默認的數(shù)據(jù)庫引擎進行替換浴井。

import pymysql

pymysql.install_as_MySQLdb()


登錄Mysql數(shù)據(jù)庫,新建一個數(shù)據(jù)庫名為MoyaDemo


在Django Setting 修改數(shù)據(jù)庫引擎配置號Mysql數(shù)據(jù)庫

DATABASES = {

'default': {

'ENGINE':'django.db.backends.mysql',

'NAME':'MoyaDemo',

'USER':'root',

'PASSWORD':'654321',

'OPTIONS': {'init_command':"SET sql_mode='STRICT_TRANS_TABLES'"}

}

}


在Tools里運行 manage.py 然后輸入makemigrations?


再輸入 migrate 創(chuàng)建數(shù)據(jù)庫表

打開Mysql會發(fā)現(xiàn)Django創(chuàng)建了很多表結構


再次運行項目:


還是提示 It Worked霉撵!說明更換數(shù)據(jù)庫沒有問題磺浙。

更換當?shù)卣Z言為中文,時區(qū)改為上海

修改前:

修改后:


LANGUAGE_CODE ='zh-hans'

TIME_ZONE ='Asia/Shanghai'

重新運行項目:看到中文提示徒坡,說明語言也更換成功屠缭。

創(chuàng)建超級管理員:

在manage.py 運行

createsuperuser

輸入用戶名,郵箱崭参,密碼

完成后呵曹,訪問 http://127.0.0.1:8000/admin/,輸入剛剛創(chuàng)建的用戶和密碼


登錄成功后:

Django 管理后臺自帶了用戶和組功能何暮,自己新建帳號奄喂。

在models中新建用戶模型:

在manage.py 運行:創(chuàng)建表結構

makemigrations

上傳中...

再運行:同步數(shù)據(jù)

migrate


在admin中注冊Model:

from.modelsimportGoods,ProductGroup

@admin.register(Goods)

class Products(admin.ModelAdmin):

pass

@admin.register(ProductGroup)

classProductGroup(admin.ModelAdmin):

pass

運行項目查看效果:


使用Djagno REST Framework


編寫api

安裝:rest framework

pip install djangorestframework

安裝完成后:

在setting app中注冊:rest_framework

'rest_framework'



設置分頁:

REST_FRAMEWORK = {

# Use Django's standard django.contrib.auth permissions,

# or allow read-only access for unauthenticated users.

'DEFAULT_PAGINATION_CLASS':'rest_framework.pagination.LimitOffsetPagination',

'PAGE_SIZE':2,

'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',)

}


序列化:新建:serializers.py 文件在Moya主項目中

# coding: utf-8

from rest_framework impor tserializers

from.models impor tUser,Entry

classUserSerializer(serializers.ModelSerializer):

classMeta:

model = User

fields = ('name','mail')

classEntrySerializer(serializers.ModelSerializer):

classMeta:

model = Entry

fields = ('title','body','created_at','status','author')

進入的View視圖中:

在View文件中定義ViewSet

import django_filters

from rest_framework import viewsets, filters

from .models import User, Entry

from .serializers import UserSerializer, EntrySerializer

class UserViewSet(viewsets.ModelViewSet):

queryset = User.objects.all()

serializer_class = UserSerializer

class EntryViewSet(viewsets.ModelViewSet):

queryset = Entry.objects.all()

serializer_class = EntrySerializer



在Moya app中新建url.py文件

# coding: utf-8

from rest_framework import routers

from.views import UserViewSet, EntryViewSet

router = routers.DefaultRouter()

router.register(r'users',UserViewSet)

router.register(r'entries',EntryViewSet)

定義URL pattern

# coding: utf-8

fromdjango.conf.urlsimporturl

fromdjango.contribimportadmin

fromMoya.urlsimportrouterasmoya_router

fromdjango.conf.urlsimporturl,include

urlpatterns = [

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

url(r'^api/',include(moya_router.urls)),

]


運行項目:打開:http://127.0.0.1:8000/api/

http://127.0.0.1:8000/api/users/

http://127.0.0.1:8000/api/entries/

參考文章:

http://blog.csdn.net/svalbardksy/article/details/50548073

https://www.sitepoint.com/building-simple-rest-api-mobile-applications/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市海洼,隨后出現(xiàn)的幾起案子跨新,更是在濱河造成了極大的恐慌,老刑警劉巖坏逢,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件域帐,死亡現(xiàn)場離奇詭異,居然都是意外死亡是整,警方通過查閱死者的電腦和手機肖揣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浮入,“玉大人龙优,你說我怎么就攤上這事∈滦悖” “怎么了彤断?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵野舶,是天一觀的道長。 經(jīng)常有香客問我宰衙,道長平道,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任供炼,我火速辦了婚禮一屋,結果婚禮上,老公的妹妹穿的比我還像新娘劲蜻。我一直安慰自己陆淀,他們只是感情好考余,可當我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布先嬉。 她就那樣靜靜地躺著,像睡著了一般楚堤。 火紅的嫁衣襯著肌膚如雪疫蔓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天身冬,我揣著相機與錄音衅胀,去河邊找鬼。 笑死酥筝,一個胖子當著我的面吹牛滚躯,可吹牛的內容都是我干的。 我是一名探鬼主播嘿歌,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼掸掏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了宙帝?” 一聲冷哼從身側響起丧凤,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎步脓,沒想到半個月后愿待,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡靴患,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年仍侥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鸳君。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡访圃,死狀恐怖,靈堂內的尸體忽然破棺而出相嵌,到底是詐尸還是另有隱情腿时,我是刑警寧澤况脆,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站批糟,受9級特大地震影響格了,放射性物質發(fā)生泄漏。R本人自食惡果不足惜徽鼎,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一盛末、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧否淤,春花似錦悄但、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至啰扛,卻和暖如春嚎京,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背隐解。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工鞍帝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人煞茫。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓帕涌,卻偏偏與公主長得像,于是被迫代替她去往敵國和親续徽。 傳聞我的和親對象是個殘疾皇子蚓曼,可洞房花燭夜當晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內容

  • 已經(jīng)同步到gitbook,想閱讀的請轉到gitbook: Django 1.10 中文文檔 This tutori...
    leyu閱讀 2,711評論 3 13
  • GitHub 上有一個 Awesome - XXX 系列的資源整理,資源非常豐富炸宵,涉及面非常廣辟躏。awesome-p...
    若與閱讀 18,668評論 4 418
  • 此段內容簡要來自自強學堂的教程詳情請查詢自強學堂 一、 后臺的運作流程 接收request請求 處理數(shù)據(jù) 獲取請求...
    coder_ben閱讀 5,246評論 6 56
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理土全,服務發(fā)現(xiàn)捎琐,斷路器,智...
    卡卡羅2017閱讀 134,720評論 18 139
  • 我一直相信簫是有靈魂的裹匙。他隱藏在細細的竹節(jié)間瑞凑,吹奏時又會隨簫聲飄然起舞。 做為簫的前身概页,一定是一竿不同尋常的竹...
    青簡書閱讀 306評論 0 1