zoukankan      html  css  js  c++  java
  • 开发工具-Django 根据输入mid 删除数据库中对应的记录

    开发工具-Django 根据输入mid 删除数据库中对应的记录

    #需求:
    1.产品需要在页面输入 违禁词url 中的 mid,相应删除数据库中对应的记录
    
    # 环境
    django-1.11.6
    python 2.7
    
    #新创建应用 oprateor
    
    #修改 settings.py 
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'oprateor'
    ]
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(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',
                ],
            },
        },
    ]
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.mysql',
            'NAME': 'blog',
            'HOST': '127.0.0.1',
            'PORT': '3306',
            'USER': 'root',
            'PASSWORD': '899999'
        }
    }
    
    # 修改 oprateor/__init__.py
    #coding=utf-8
    
    import pymysql
    from django.apps import AppConfig
    import os
    
    #数据库使用
    pymysql.version_info = (1, 4, 13, "final", 0)
    pymysql.install_as_MySQLdb()
    
    
    #增加数据模型 models.py
    
    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    
    from django.db import models
    
    # Create your models here.
    
    
    class dkp(models.Model):
        dkpname = models.CharField(max_length=30,unique=True)
    
        def __unicode__(self):
            return u'Tag:%s'%self.dkpname
    
    
    #修改路由
    urlpatterns = [
        url(r'^admin/', admin.site.urls),
        url(r'^dkp/',include('oprateor.urls')),
    ]
    
    #修改子路由
    #conding=utf-8
    from django.conf.urls import url
    import views
    
    urlpatterns = [
        url(r'^operator/$',views.queryAll),
    ]
    
    
    # 修改 views.py
    # -*- coding: utf-8 -*-
    from __future__ import unicode_literals
    
    from django.http import HttpResponse
    from django.shortcuts import render
    from .models import *
    
    # Create your views here.
    def queryAll(request):
    
        if request.method == 'GET':
            return render(request,'index.html')
        else:
            #从前端获取输入页面的 mid
            mid = request.POST.get('mid')
            #转化为 int 类型
            mid = int(mid)
            print type(mid)
               
            #操作数据库
            from django.db import connection
    
            cursor = connection.cursor()
            #删除操作
            oprate = cursor.execute("delete from  oprateor_dkp where id=%d" %mid)
    
            print mid
            #判断是否操作成功
            if oprate:
                return HttpResponse('已删除提交的 mid 为 %d' %mid)
            else:
                return HttpResponse('无法删除提交的 mid 为 %d' % mid)
    
    
    #新增加 templates/index.html
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    		<style>
    		* {
    			margin: 0;       将所有块的padding  margin 先默认设为0
    			padding: 0;
    		}
    		.bbox{
    	 400px;
    	padding-bottom: 20px; 使得所有内容距离底部的距离为20px
    	border: 1px red  solid;
    	margin:100px  auto 0 ;   上  左右 (自动)     下 (不设值)
    	不设置高度的原因是因为高度可以自调;
    }
    .topnews{
        400px;
       background: red;
       color:#fff;
       text-align: center;
       padding: 20px 0;
       position: relative;  对于x来说他就是大块
    }
    .close{
    	position: absolute;   绝对定位
    	right: 30px;  距离大块的右面 和上面分别是多少
    	top: 20px;
    	font-size: 30px;
    	}
    .main{
    	 400px;       列表的内容
    	padding: 20px 100px;
    	line-height: 50px;
    	font-size: 25px;
    
    }
    .btn{
    	 100px;
    	height: 50px;
    	margin: 0 auto;
    	border: 1px red ;
    	text-align: center;
    	line-height: 50px;
    	border-radius: 25px;  圆角为高度的一半
    	color: orange;
    }
    	</style>
    
    </head>
    <body>
    <div class="bbox">
    	       <div  class="topnews">
    	       	<h1>DKP操作</h1>
    	       	<span class="close" >x</span>
    	       </div>
    	       <div class="main">
    	       	<ul>
    	 <li>删除违禁词 DKP</li>
    	       	</ul>
    	       </div>
    
     <form action="/dkp/operator/" method="post">
        {% csrf_token %}
            <p>mid:<input type="number" name="mid"/></p>
            <div class="btn" <p><input type="submit" value="operating"/></p> </div>
    </form>
    
    </div>
    </body>
    </html>
    
    
    
    
    
    #实现效果输入:http://127.0.0.1:8000/dkp/operator/ 
    
    



  • 相关阅读:
    ege demo
    Easy Graphics Engine vs2015使用
    c++ demo
    leetcode 13 -> Roman to Integer
    leetcode 12 -> Integer to Roman
    12. Integer to Roman
    leetcode 9 -> Palindrome Number
    8. String to Integer (atoi)
    获取字符串中长度最长的回文字符串
    leetcode 5-> Longest Palindromic Substring
  • 原文地址:https://www.cnblogs.com/lixinliang/p/14180769.html
Copyright © 2011-2022 走看看