django项目2022

django项目

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple django==2.2.3
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mysqlclient

项目:

django-admin startprojects app
cd app
python manage.py runserver 端口号

settings.py

SESSION_ENGINE = 'django.contrib.sessions.backends.cache' # session保存的引擎
DATABASES = {
    'default': {
        # 'ENGINE': 'django.db.backends.sqlite3',
        #         # 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
        'ENGINE': 'django.db.backends.mysql',
        'NAME': "hhdb",
        'HOST':"127.0.0.1",
        'PORT':"3306",
        'USER':"root",
        'PASSWORD':"123456",
    }
}
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'tests',
]
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',#这行可以注释
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

urls.py

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include("tests.urls")),
]

应用
urls.py

from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
  path('',views.index),
  path('show',views.show),
  path('deletecord',views.deletecord),
]

view.py

from django.shortcuts import render,redirect
from django.http import  HttpResponse
from . import models
# Create your views here.
def index(request):
    if request.method=="POST":
        aname=request.POST.get("aname")
        apass=request.POST.get("apass")
        request.session["aname"]=aname
        result=models.AdminInfo.objects.filter(aname=aname,apass=apass)
        if result:
            return redirect("/show")
        else:
            return render(request,"index.html",{"msg":"用户名或密码错误"})
    return render(request,"index.html")

def show(request):
    result=models.ProductInfo.objects.all()
    return render(request,"show.html",{"result":result})


def deletecord(request):
    id=request.GET.get("id")
    print(id)
    pro=models.ProductInfo.objects.get(ID=id)
    pro.delete()
    return HttpResponse("ok")

model.py

from django.db import models

# Create your models here.
class AdminInfo(models.Model):
    class Meta:
        db_table="adminInfo"
    ID=models.AutoField(primary_key=True,db_column="ID")
    aname=models.CharField(max_length=20)
    apass=models.CharField(max_length=20)
    state=models.IntegerField(null=True)
    def __str__(self):
         return  self.aname

class ProductInfo(models.Model):
    class Meta:
        db_table="productInfo"
    ID=models.AutoField(primary_key=True,db_column="ID")
    productName=models.CharField(max_length=20)
    addDate=models.DateField()
    price=models.FloatField()
    productDesc=models.CharField(max_length=20)
    def __str__(self):
        return self.productName

show.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/css/bootstrap.css">
    <link rel="stylesheet" href="/static/css/bootstrap-theme.css">
    <script src="/static/js/bootstrap.js"></script>
</head>
<body>
欢迎您:{{ request.session.uname }}
<hr/>
<table class="table tab-content">
    <tr>
        <th>商品编号</th>
        <th>商品名称</th>
        <th>上架日期</th>
        <th>商品单价</th>
        <th>商品描述</th>
        <th>编辑操作</th>
    </tr>
    {% for res in result %}
        <tr>
            <td>{{ res.ID }}</td>
            <td>{{ res.productName }}</td>
            <td>{{ res.addDate}}</td>
            <td>{{ res.price }}</td>
            <td>{{ res.productDesc }}</td>
            <td>
                 <a href="javascript:void(0)" onclick=" deletecord(this,{{ res.ID }}) " class="btn btn-danger">删除</a>

            </td>
        </tr>
    {% endfor %}
    <script src="static/js/jquery-3.6.0.js"></script>
	<script>
            function deletecord(obj,id) {
                console.log(id)
                if(confirm("确认删除吗?")){
                $.ajax({
                    url:"/deletecord",
                    data:"id="+id,
                    //回调函数:当服务器响应内容之后,自动调用的函数
                    success:function (result) {
                        //请求成功之后自动执行的函数
                        console.log(result)   //result是py文件(服务器)响应的内容
                        if(result=="ok"){
                            //将某个a标签所在的行用jquery的代码删除
                            $(obj).parent().parent().remove()
                            alert("删除成功!")
                        }else{
                            alert("删除失败!")
                        }
                    }
                })
            }}
        </script>
</table>
</body>
</html>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>商品信息管理后台登录</title>
    <link rel="stylesheet" href="/static/css/bootstrap.css">
    <link rel="stylesheet" href="/static/css/bootstrap-theme.css">
    <script src="/static/js/bootstrap.js"></script>
</head>
<body>
<h1 align="center">商品信息管理后台登录</h1>
<br/>
<form  method="post" onsubmit="return check()">
    <input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}">
    用户名:<input class="form-control" type="text" placeholder="请输入用户名" id="aname" name="aname" ><br/>
    密 码: <input class="form-control" type="password" placeholder="请输入密码" id="apass" name="apass" ><br/>
    <input class="btn btn-default" type="submit" value="登录">
    <input class="btn btn-default" type="reset" value="取消">
</form>
<script>
    function check() {
        var aname=document.getElementById("aname").value
        var apass=document.getElementById("apass").value
        if(aname==""|apass==""){
             alert("失败啦亲")
             return false
        }else{
            alert("成功啦亲")
            return true
        }
    }
</script>
</body>
</html>




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值