我有一個django應用程序還沒有生效,我剛剛收到使用API的請求,並最終選擇了DRF。但是我真的失去了一些組件。我能夠登錄,獲取令牌並傳遞令牌來獲得某些內容。它現在將在前端使用angular.as,它需要全部是JSON。將Django應用程序轉換爲DRF應用程序
雖然我會重寫視圖,但我希望儘可能重用特別是模塊。例如。我有一個驗證,可以驗證表格的註冊(它從三個不同的角度使用,因爲一個成員可以用三種不同的方式進行註冊,適用一些條件,例如自我註冊,公司註冊和公司代理註冊)。
def validate_member(data,editing=False,directregistration=True):
#data is passsed from forms.py. Return any error message and the cleaned data to the calling forms.py
return [errmsg,data]
forms.py清潔方法,例如:
class NewMemberForm(forms.Form):
firstName=forms.CharField(max_length=25,required=True,widget=forms.TextInput())
def clean(self):
self.cleaned_data=super(NewMemberForm,self).clean()
validate_member_form=validate_member(self.cleaned_data,directregistration=True)
#do we have error messages now?
if len(validate_member_form[0])>0: #yes we have error messages
raise forms.ValidationError(_(validate_member_form[0]),code='invalid')
return validate_member_form[1]
,我的views.py:
if request.method=='POST':
err_found=False
go_id=''
form=NewMemberForm(request.POST or None)
if form.is_valid():
#create user
pass
我看到forms.py是沒用的DRF APIView(我沒能得到一個至少是例子)。如何轉換這樣的應用程序沒有太多的痛苦?
謝謝@hspandher。這聽起來像重寫很可能。如果我可以問,這個GET怎麼會成爲APIView。('act_id','act_name'))。my_activities = AssociationActivity.objects.annotate(act_id = F('id'),act_name = F('activity__name'))。values('act_id','act_name') .filter(association_id = asso_id) \t \t my_activities_listed =列表(my_activities) \t \t活動= Activity.objects.values( '編號', '姓名')。過濾器(活性= '有效') \t \t actvities_listed =列表(活動) \t \t reply = {'my_activites':my_activities_listed,'activities':actvities_listed} data = json.dumps(回覆) –
@NieSelam對不起,你引用了什麼'GET'成爲? – hspandher
任何想法@hspandher? –