Django中的APP的功能就是使得项目更加规范化,创建APP把项目相应的功能划分成不同的模块。
创建APP命令:
代码语言:javascript复制python manage.py startapp myapp1
这样就创建了一个名为myapp1的APP。你就能在你的项目下面看到一个名为myapp1的目录。
创建完成APP以后,Django并不会感知到APP,需要我们在settings.py文件中进行设置。
代码语言:javascript复制INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myapp1.apps.Myapp1Config', # 加上自己的APP
# 'myapp1', 不推荐这种写法。
]
既然,我们已经有了一个myapp1了,现在把刚才写的登录功能放到myapp1中去。在此之前,需要大概了解一下myapp1下文件都是干什么的。如下图所示,以后会详细介绍。
现在,我们urls.py中的函数放到view.py中去。然后在urls.py中导入view模块。具体代码如下:
代码语言:javascript复制# urls.py文件
from django.contrib import admin
from django.urls import path
from myapp1 import views
urlpatterns = [
path('admin/', admin.site.urls),
path('login/', views.login), # 这样,就是将login这个url和叫做login的函数关联起来。
path('index/', views.index),
]
代码语言:javascript复制#views.py文件
from django.shortcuts import render, HttpResponse, redirect
# Create your views here.
def login(request): # login函数
if request.method == "GET": # 前端如果是get请求
return render(request, 'login.html') # 返回HTML页面。
elif request.method == "POST": # 前端如果是post请求
username = request.POST.get("username") # 获取POST请求中的username值
password = request.POST.get("password") # 获取密码值
if username == "zy" and password == "12345":
return redirect("/index/")
else: # 如果用户名或者密码错误,返回登录页面
return render(request, "login.html")
def index(request): # index函数
return render(request, "index.html")
好了,这一篇就介绍到这里。