通过网页向DB内添加数据

结构如下:

mysite-
|
|--monitor
|    |
|    |--views
|       |--urls
|    |--admin
|       |--models

|--mysite(默认创建)
|    |
|    |--settings
|       |--urls
|--templates
|    |
|    |--monitor
|          |--index.html

修改mysite.settings.py注释掉以下行

#'django.middleware.csrf.CsrfViewMiddleware',

修改mysite.urls.py

urlpatterns = [
    path('add/',views.add),   #添加输入数据
    path('del/',views.dell)  #删除所有数据
]

编辑monitor.views内容

from django.shortcuts import render
from django.http import HttpResponse
from django.template import  loader
from monitor.models import UserInfo as b
def add(request):
    if request.method == "POST":
        u=request.POST['Username']
        p=request.POST['Password']
        a=int(request.POST['Age'])
        b.objects.create(Username=u,Password=p,Age=a)
    k=b.objects.all()
    return  render(request,'monitor/index.html',{"lion":k})
def dell(request):
    b.objects.all().delete()
    k = b.objects.all()
    return render(request, 'monitor/index.html', {"lion": k})

最后修改monitor.index

<!doctype html>
<html lang="zh-CN">
<head>
    <title>django</title>
</head>
<body>
<form action="/add/" method="post">
    <p><input name="Username" type="text"></p>
    <p><input name="Password" type="text"></p>
    <p><input name="Age" type="text"></p>
    <p><input value="提交" type="submit"></p>
</form>
<table border="1">
    <thead>
        <tr>
            <th>用户名</th>
            <th>密码</th>
            <th>年龄</th>
        </tr>
    </thead>
    <tbody>
        {% for item in lion%}
        <tr>
            <td>{{ item.Username }}</td>
            <td>{{ item.Password }}</td>
            <td>{{ item.Age }}</td>
        </tr>
        {% endfor %}
    </tbody>
</table>
</body>
</html>
View Code

此时访问127.0.0.1:8000/{add,del}即可添加,删除数据内容

 models文件内容

from django.db import models

# Create your models here.
class  UserInfo(models.Model):
    Username = models.CharField(max_length=12)
    Password = models.CharField(max_length=12)
    Age = models.IntegerField()
  def __str__(self):      #定义此函数为了在页面显示区别出新加的内容,在py2.xx使用__unicode__
    return "<<%s>>"%(self.Username)

 

或者通过Django自带的admin后端来添加、修改,操作如下,在mysite.admin下修改以下

from . import  models
admin.site.register(models.UserInfo) #UserInfo为models文件内定义的类

此时访问127.0.0.1:8000/admin可以操作

posted on 2018-06-04 10:03  世马  阅读(160)  评论(0编辑  收藏  举报