下面是详细的“Django一小时写出账号密码管理系统”的完整攻略:
Step 1:安装Django
首先,我们需要在本地环境中安装Django。可以通过以下命令进行安装:
pip install django
Step 2:创建Django项目
接下来,我们需要通过以下命令创建一个Django项目:
django-admin startproject password_manager
其中,password_manager
是我们项目的名称。
Step 3:创建Django应用
在创建好项目后,我们需要创建一个Django应用进行开发。可以通过以下命令进行创建:
cd password_manager
python manage.py startapp accounts
其中,accounts
是我们应用的名称。
Step 4:开发数据库模型
在创建好应用后,我们需要设计数据库模型来存储账号密码信息。可以在accounts/models.py
文件中编写以下代码:
from django.db import models
class Account(models.Model):
name = models.CharField(max_length=50)
username = models.CharField(max_length=50)
password = models.CharField(max_length=50)
其中,我们定义了一个Account
模型,包含了name
、username
、password
三个字段。
需要注意的是,我们在models.py
文件中定义好模型后,还需在password_manager/settings.py
中添加accounts
应用,如下:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'accounts', # 添加accounts应用
]
Step 5:创建数据库
在定义好模型后,我们需要执行以下命令来创建数据库表:
python manage.py makemigrations
python manage.py migrate
Step 6:开发视图函数
在创建好数据库模型和数据库表后,我们需要编写视图函数来处理用户请求。可以在accounts/views.py
文件中编写以下代码:
from django.shortcuts import render
from django.http import HttpResponse
from .models import Account
def account_list(request):
accounts = Account.objects.all()
context = {
'accounts': accounts,
}
return render(request, 'accounts/list.html', context)
def account_detail(request, pk):
account = Account.objects.get(pk=pk)
context = {
'account': account,
}
return render(request, 'accounts/detail.html', context)
其中,我们定义了两个视图函数,分别是account_list
和account_detail
。account_list
函数用于获取所有账号密码信息并渲染accounts/list.html
模板;account_detail
函数用于获取指定账号密码信息并渲染accounts/detail.html
模板。
Step 7:编写模板
在编写了视图函数后,我们需要编写模板来显示数据。可以在accounts/templates/accounts
目录下编写以下文件:
accounts/list.html
<!DOCTYPE html>
<html>
<head>
<title>账号列表</title>
</head>
<body>
<h1>账号列表</h1>
<ul>
{% for account in accounts %}
<li><a href="{% url 'accounts:detail' account.id %}">{{ account.name }}</a></li>
{% endfor %}
</ul>
</body>
</html>
accounts/detail.html
<!DOCTYPE html>
<html>
<head>
<title>账号详情</title>
</head>
<body>
<h1>账号详情</h1>
<ul>
<li>名称:{{ account.name }}</li>
<li>用户名:{{ account.username }}</li>
<li>密码:{{ account.password }}</li>
</ul>
</body>
</html>
需要注意的是,在模板中我们使用了{% url %}
标签来动态获取URL,并将accounts:detail
作为参数传递。
Step 8:编写URLconf
最后一步是编写URLconf,用于将URL映射到我们定义的视图函数。可以在accounts/urls.py
文件中编写以下代码:
from django.urls import path
from . import views
app_name = 'accounts'
urlpatterns = [
path('', views.account_list, name='list'),
path('<int:pk>/', views.account_detail, name='detail'),
]
其中,我们通过path
函数将键为list
和detail
的URL分别映射到account_list
和account_detail
视图函数。需要注意的是,在映射detail
URL时我们使用了<int:pk>/
来指定了URL中需传入一个整型参数,并将其作为pk
参数传递给视图函数。
至此,我们已经完成了一个账号密码管理系统的开发,可以通过以下命令启动服务器进行访问:
python manage.py runserver
访问http://localhost:8000/accounts/
即可查看账号列表,点击列表中的账号名称可以查看对应账号的详细信息。
示例一:
input:
账户列表中有account_1, account_2和account_3三个账户,各自对应不同的用户名和密码.
output:
用户访问http://localhost:8000/accounts/,展示账户列表,列表上显示account_1, account_2和account_3三个账户,用户可以点击账户名查看对应账户的详细信息,包括用户名和密码。
示例二:
input:
用户访问http://localhost:8000/accounts/1/,展示account_1账户的详细信息。
output:
展示account_1账户的详细信息,包括用户名和密码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django一小时写出账号密码管理系统 - Python技术站