django-admin startproject 项目名称
1、创建应用
python manage.py startapp 应用名称
应用创建后,项目的根目录下会生成对应应用名称的文件夹
2、注册应用
新创建的应用需要在settings.py中的INSTALLED_APPS中注册该应用
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'项目名称',
]
3、创建视图、定义路由
在新增app下的views.py
中添加一个视图函数
言归正传,在view.py下添加一个视图逻辑
from django.http import JsonResponse
def hello(request):
data = {
"code" : 0,
"msg" : "hello"
}
print(data["msg"])
return JsonResponse(data)
然在urls.py中声明该视图,为其分配请求路径
from django.contrib import admin
from django.urls import path
from base import views
urlpatterns = [
path('admin/', admin.site.urls),
path('hello',views.hello) #这样,当我们向localhost:8000/hello 请求数据时,即可返回hello
]
需要注意的是,以函数形式来编辑逻辑(FBV)与以类形式来编辑逻辑(CBV)时,urls.py上的路径与函数的对应关系是不一样的。
1)使用FBV写:
from django.shortcuts import render, HttpResponse, redirect
def back_hello(request):
return HttpResponse('大家好!')
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
2)使用CBV写:
from django.views import View # 基于类的形式来写试图上的业务逻辑的时候,定义的类需要 继承 django 中的View类 !!!!!!!
class BackHello(View):
def get(self, request):
return HttpResponse("get请求的时候!get大家好!")
def post(self, request):
return HttpResponse("post请求的时候!post大家好!")
urlpatterns = [
url(r'^test/', views.BackHello.as_view()),
]