快速上手Django實(shí)現(xiàn)項(xiàng)目
近期公司在做1個海淘的項(xiàng)目,APP為pylot。由于時間比較趕,加上隔壁那哥們不在,只能自己挑大梁了。結(jié)果,當(dāng)項(xiàng)目做出來之后,被領(lǐng)導(dǎo)狠狠的批了一頓,說怎么用django寫,你能解決Django的內(nèi)存問題嗎,你能解決并發(fā)的問題嗎?Django那么重。
然后我只好回答說,正是因?yàn)樗?所以人家拿來寫大型項(xiàng)目。雖然這里不是為了上面這2個問題的,而是來說下如何快速開發(fā)原型的問題。
對于Django這樣基于模型的Web框架,實(shí)話說真的解決了很多繁瑣的工作。由于它1個模型對應(yīng)1張表,因此只要很短暫的時間就把原型給弄完了。實(shí)際上,我用Django主要是不用被頁面浪費(fèi)我的時間,這樣我就可以專心寫API那方面了。
結(jié)果,公司這個項(xiàng)目除了自己可以看到外,還要實(shí)現(xiàn)1個B端的需求,而我此時的后臺功能已經(jīng)完成了,這可以如何是好。而區(qū)別在于只能讓注冊的用戶只能看到屬于它自己的訂單,而其他不變。
于是上官方文檔看了下表單的教程,看到1個ModelForm的玩意,通過它可以將后臺的表單直接渲染出來,而后在ModelForm類中通過instance關(guān)鍵字可以將對應(yīng)模型直接渲染出來,這樣花了1個星期的時間就把API、B端和公司的后臺完成了,效率還算比較高。
下面說下如何通過Django快速實(shí)現(xiàn)項(xiàng)目:
相信如何能做到以上幾點(diǎn),才能把django的效率發(fā)揮出來。下面來看看本文的詳細(xì)介紹吧。
Django同1個頁面中的多表單處理
關(guān)于在同1個頁面多個表單提交的問題,實(shí)際上是項(xiàng)目中遇到的1個小問題。關(guān)于這個問題,主要有2個需要解決的問題:
下面我們分別進(jìn)行說明。
當(dāng)時在建模的時候使用了類似如下的方式:
from django.db import models class Store(models.Model): name = models.CharField('名稱', max_length=20) first = models.FloatField('首重') additional = models.FloatField('次重') img = models.ImageField('圖片', upload_to='store/1') class Depot(models.Model): s_name = models.ForeignKey(Store, verbose_name='倉庫') src = models.CharField('始發(fā)地', max_length=20) dest = models.CharField('目的地', max_length=20) days = models.PositiveSmallIntegerField('需要的天數(shù)') class Address(models.Model): s_name = models.ForeignKey(Store, verbose_name='倉庫') country = models.CharField('國家', max_length=20) state = models.CharField('省份', max_length=10) city = models.CharField('城市', max_length=10) description = models.TextField('描述', blank=True)
新聞熱點(diǎn)
疑難解答
圖片精選