これは非常に一般的で自由な質問です。そのため、昨日、現在 Django で構築されている Web サイトに基づいて iOS アプリを作成することにしました。現在、Django は RoR と同様に、UI に対して透過的であると想定されています。ユーザーが使用している UI を気にする必要はありません。(適切な MVC)。
たとえば、コードの一部を見ると、システムに機器を追加する方法は次のとおりです。
@login_required
def add(request):
r_user = request.user.userprofile
form = EquipmentFormAdd(request.POST or None, c_id=r_user.company_id, error_class=DivErrorList)
if form.is_valid():
equipment = form.save(commit=False)
equipment.company_id = r_user.company_id
equipment.added_by_id = request.user.id
default_file_path = EquipmentPicture.get_default_file_path()
url_bucket = r_user.company.s3_bucket.name + default_file_path
cell = form.cleaned_data['cell']
equipment.cell_order = cell.equipment_set.count() + 1
equipment_picture = EquipmentPicture.objects.create(
file=EquipmentPicture.get_default_file_path(),
slug=EquipmentPicture.get_default_slug(),
bucket_name=r_user.company.s3_bucket.name,
bucket=r_user.company.s3_bucket, added_by=request.user,
company=r_user.company, url_with_bucket=url_bucket)
equipment.picture = equipment_picture
equipment.save()
return redirect('equipment_index')
return render(request, 'equipment/add.html', {'equipment_form': form, 'company_id': r_user.company_id})
これを見ると、すぐにテンプレートをレンダリングしてデータを渡していることがわかります。これは iOS では機能しません。
いくつかの質問:
多くの人が REST API を作成しています。Django で HTTPResponses を作成できれば、それを行う意味がわかりません。TastyPie のようなものを使用する場合、現在のadd 関数を見ると、その関数内で多くのことが行われ、 TastyPie はそれを呼び出すことができません。
私の主な質問は、Web プラットフォームと iOS プラットフォームの両方で通常の Django サーバーと同様に REST API を実行する必要があるか、それとも同じ機能を備え、それに応じて異なるエントリ ポイントとレンダリングを使用する必要があるかということです。
REST API はいつ作成しますか? データを作成および取得するときの関数の多くは、現在、標準の POST および GET 呼び出しだけでは機能しません。それは悪いことですか?
私はちょっと混乱しています...長い質問で申し訳ありませんが、もう一度感謝します!