Django开发登录功能

1.创建app应用程序

一般一个项目包含多个app应用程序(当然,通用的app也可以在多个项目中使用) 下面我们为loginweb项目,创建login

#1激活虚拟环境

cd D:\djangotest

djangoenv\Scripts\activate

#2切到django项目中

cd loginweb

#3创建一个叫login的应用

django-admin startapp login

2.注册app

app应用程序创建以后,必须把app注册到Django,才能够被Django项目所管理。我们只需要把login应用的名称,配置到 loginweb/settings.py文件中即可。如下图所示:

注册app

3.Django视图

Django视图的作用:用于接受Web请求并且返回Web响应的简单Python 函数。该函数一般定义在各自应用的views.py文件中。在视图函数中,有 两个重要的对象:请求对象和响应对象。

下面是一个最简单的视图函数:

# 例:在login/views.py 中

from django.http import HttpResponse

# Create your views here.

def login(request):

     return HttpResponse("登录页面")

其中:request参数为必填参数,代表用户的请求,它是HttpRequest对象

4.Django路由

Django的路由定义文件为:项目目录urls.py文件。我们所有的路由配置,都以列表的方式,定义在urls.py文件中,添加我们想要的路由

# 例:在loginweb/urls.py 中

from django.contrib import admin

from django.urls import path

from login import views

urlpatterns = [

path("admin/", admin.site.urls),

path("login/",views.login)

]

5.启动Django项目

在开发环境下,我们需要在本地启动Django项目,来开发与调试我们的代 码。启动Django项目命令如下:

python manage.py runserver [port]

#[port] 为应用访问端口,可以缺省不写,默认为8000。

此时,我们就可以用浏览器访问我们的项目了。结果如下图所示


访问登录页面

访问我们写好的路由

6.登录功能改良

在login底下新写建一个templates目录,存放编写的html前端页面

放前端页面的目录

login.html

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>登录页面</title>

<style>

body{

text-align:center;

      }

</style>

</head>

<body>

<form action="/login/" method="post">

  {% csrf_token %}

<h1 align="center">登录页面</h1>

<p class="divs">

<label for="username">用户名:</label>

<input type="text" id="username" name="username" align="center">

</p>

<p class="divs">

&nbsp&nbsp&nbsp<label for="password">密码:</label>

<input type="password" id="password" name="password">

</p>

<input type="submit" value="登录">

<span style="color:red">{{ error }}</span>

</form>

</body>

</html>

index.html

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>这里是主页</title>

<style>

h1 { color:red }

</style>

</head>

<body>

<h1>这里是主页</h1>

</body>

</html>

修改视图函数

修改loginweb/urls.py

from django.contrib import admin

from django.urls import path

from login import views

urlpatterns = [

path("admin/", admin.site.urls),

path("login/",views.login),

path("index/",views.index)

]

再次启动Django项目

python manage.py runserver [port]

#[port] 为应用访问端口,可以缺省不写,默认为8000。

访问http://127.0.0.1:8000/login/项目

输入不是用户名密码不是admin/123456

输入admin/123456点击登录 跳转到主页面

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容