发布于2020-02-21 15:28 阅读(859) 评论(0) 点赞(26) 收藏(3)
python 3.7(一定要是python3)
django
windows 系统
mysql 数据库
编写工具用 IDEA 或者 pycharm 都可以
构建项目之前确认 python 等环境已搭建好(环境变量等都配好)
用 cmd 命令进入要创建项目的目录
## dir 为要创建项目的目录
cd dir
创建一个 Django 项目:
django-admin startproject PythonUser
此时在之前的 dir 目录下会出现项目PythonUser
启动该项目, 进入 PythonUser 项目目录下:
cd dir/PythonUser
python manage.py runserver 0.0.0.0:8000
## 或者使用命令
python3 manage.py runserver 0.0.0.0:8000
使用 0.0.0.0 使其他电脑可以连接到,8000 为启动端口,可以自己更改。
打开浏览器,访问 http://localhost:8000 或者 http://127.0.0.1:8000, 可以看到 django 界面表示项目创建成功。
在 PythonUser 项目目录下,创建一个文件夹或者目录,命名为:templates,该目录下放置所有页面文件。
修改项目 settings.py 文件,在 settings.py 文件中搜索 “template”, 定位到该位置,修改 TEMPLATES 中的 DIRS 为 [BASE_DIR+"/templates",]
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [BASE_DIR+"/templates",],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
如果没有安装过数据库驱动的安装一下驱动,使用命令:
pip install mysqlclient
进行数据库配置,修改 settings.py 文件,在 settings.py 文件中搜索 “database”, 定位到该位置,修改数据库配置为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'user',
'USER': 'root',
## 设置自己的密码
'PASSWORD': '****',
'HOST':'localhost',
'PORT':'3306',
}
}
进入到 PythonUser 项目目录下,创建模型 UserModel, 使用命令:
## 注意位置不要弄错,要在项目的路径下,不要在 dir/PythonUser/PythonUser 下创建
cd dir/PythonUser
## 注意是 startapp, 创建 app, 不是 startproject,创建项目
django-admin startapp TestModel
修改 UserModel 下的 models.py 文件, 构建 user 数据库模型:
from django.db import models
# Create your models here.
class User(models.Model):
// 设置 id 字段自增,否则存储的时候会存储该字段,其他字段相继前移,暂时没找到其他办法
id = models.AutoField(primary_key=True)
username = models.CharField(max_length=20)
password = models.CharField(max_length=20)
sex = models.CharField(max_length=20)
age = models.CharField(max_length=3)
修改 settings.py 文件, 在 settings.py 文件中搜索 “install”, 定位到该位置,修改“INSTALLED_APPS”为:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'UserModel',
]
即把自己创建的 app 添加进来
创建表,使用命令:
$ python manage.py migrate # 创建表结构
$ python manage.py makemigrations TestModel # 让 Django 知道我们在我们的模型有一些变更
$ python manage.py migrate TestModel # 创建表结构
创建成功后,会在数据库中查看到创建的表,表名为:UserModel_User
查看数据库命令为:
mysql -uroot -p
## 输入密码
show databases;
## 把user 改为自己的数据库名
use ‘user’
show tables;
就可以看到自己创建的表了。
在 PythonUser 项目目录下创建 “userdb.py” 文件,内容为:
from django.http import HttpResponse
from django.shortcuts import render
from UserModel.models import User
# 数据库操作,向数据库添加用户
def addUser(request):
usernamevalue = request.GET['username']
passwordvalue = request.GET['password']
sexvalue = request.GET['sex']
agevalue = request.GET['age']
user = User(username = usernamevalue, password = passwordvalue, sex = sexvalue, age = agevalue)
user.save()
return HttpResponse("<p>数据添加成功!</p>")
修改 UserModel 目录下的 views.py 文件,内容为:
from django.shortcuts import render
from PythonUser import userdb
from UserModel.models import User
# Create your views here.
def insertUser_form(request):
return render(request, '../templates/insertUser.html')
def listUser(request):
list = User.objects.all()
return render(request, "../templates/list.html", {"users": list})
def search(request):
usernamevalue = request.GET['select']
list = User.objects.filter(username = usernamevalue)
return render(request, "../templates/list.html", {"users": list})
def getUserById(request):
id = request.GET['id']
list = User.objects.filter(id = id)
return render(request, "../templates/list.html", {"users": list})
在 templates 目录下创建 “insertUser.html” 文件,该文件为添加用户页面,内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/addUser" method="get">
用户名:<input type="text" name="username"></br>
密 码:<input type="text" name="password"></br>
性 别:<input type="radio" name="sex" value="0" />男 <input type="radio" name="sex" value="1" />女</br>
年 龄:<input type="text" name="age"></br>
<input type="submit" value="添加">
</form>
</body>
</html>
在 templates 目录下创建 “ilist.html” 文件,该文件为展示用户和搜索页面,内容为:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/search" method="get">
<input type="text" name="select">
<input type="submit" value="搜索">
</form>
<table border="1">
<tr>
<td>用户名</td>
<td>密码</td>
<td>性别</td>
<td>年龄</td>
</tr>
{% for user in users %}
<tr>
<td><a href="/getUserById?id={{user.id}}">{{user.username}}</a></td>
<td>{{user.password}}</td>
{% ifequal user.sex '0' %}
<td>男</td>
{% else %}
<td>女</td>
{% endifequal %}
<td>{{user.age}}</td>
</tr>
{% endfor%}
</table>
</body>
</html>
修改 PythonUser/PythonUser 目录下的 urls.py 文件,添加路由:
from django.contrib import admin
from django.urls import path
from PythonUser import userdb
from UserModel import views
urlpatterns = [
path('addUser/', userdb.addUser),
path('insert/', views.insertUser_form),
path('listUser/', views.listUser),
path('search/', views.search),
path('getUserById/', views.getUserById),
]
添加页面显示为:
添加成功结果为:
显示数据页面为:
该页面可以进行查询,点击用户名链接可以只查询该用户信息
只是初步实现用户信息的部分功能,mvc 的分层有点混乱,之后会继续学习更新。
作者:我下面给你吃
链接:https://www.pythonheidong.com/blog/article/231934/5750eb05e1bb06bd57ad/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!