Django框架 靓号管理(增删改查)

这篇具有很好参考价值的文章主要介绍了Django框架 靓号管理(增删改查)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Django框架 靓号管理(增删改查)

Django框架 靓号管理(增删改查),Python,django,数据库

新建一个项目 backend

使用pycharm创建app

startapp app

项目目录

C:\code\backend
├── app
|  ├── admin.py
|  ├── apps.py
|  ├── migrations
|  ├── models.py
|  ├── tests.py
|  ├── views.py
|  └── __init__.py
├── backend
|  ├── asgi.py
|  ├── settings.py
|  ├── urls.py
|  ├── wsgi.py
|  └── __init__.py
├── manage.py
├── templates
└── venv
   ├── Lib
   ├── pyvenv.cfg
   └── Scripts


创建模型

app/models.py

from django.db import models


# Create your models here.
class PrettyNum(models.Model):
    mobile = models.CharField(verbose_name='手机号', max_length=11)
    # 想要循序为空 null = True blank =Tree
    price = models.IntegerField(verbose_name='价格', default=0)

    level_choices = (
        (1, "1级"),
        (2, '2级'),
        (3, '3级'),
    )
    level = models.SmallIntegerField(verbose_name='级别', choices=level_choices, default=1)
    status_choices = (
        (1, "已占用"),
        (2, "未使用")
    )
    status = models.SmallIntegerField(verbose_name="状态", choices=status_choices, default=2)

数据库配置并注册app

backend/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    #注册app
    'app.apps.AppConfig'
]

#这里使用mysql数据库
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'tmpdb', #这里填写数据名称
        'USER': 'root',
        'PASSWORD': '自定义数据库密码',
        'HOST': 'mysql所在服务器IP',
        'PORT':'mysql服务端口',
        'OPTIONS':{
            "init_command":"SET sql_mode='STRICT_TRANS_TABLES'",
        }
    }
}

迁移数据模型

makemigrations
migrate

查看数据库表

mysql> show tables;
+----------------------------+
| Tables_in_tmpdb            |
+----------------------------+
| app_prettynum              |
| auth_group                 |
| auth_group_permissions     |
| auth_permission            |
| auth_user                  |
| auth_user_groups           |
| auth_user_user_permissions |
| django_admin_log           |
| django_content_type        |
| django_migrations          |
| django_session             |
+----------------------------+

在数据库模拟创建数据

mysql> SELECT * FROM app_prettynum ;
+----+------------+-------+-------+--------+
| id | mobile     | price | level | status |
+----+------------+-------+-------+--------+
|  1 | 123456     |    19 |     1 |      1 |
|  2 | 123457686  |    17 |     1 |      1 |
|  3 | 1234576888 |    10 |     1 |      1 |
|  4 | 1234576888 |    10 |     1 |      1 |
|  5 | 1234576888 |    10 |     1 |      1 |
|  6 | 1234576888 |    10 |     1 |      1 |
|  7 | 1234576888 |    10 |     1 |      1 |
+----+------------+-------+-------+--------+

靓号列表

  • url
  • 函数
    • 获取所有靓号
    • 通过html+render将靓号罗列出

backend/urls.py

from django.contrib import admin
from django.urls import path
from app import views

urlpatterns = [
    path('admin/', admin.site.urls),
    # 列表
    path('pretty/list/', views.pretty_list),
]

app/views.py

from django.shortcuts import render

from app.models import *


# Create your views here.
def pretty_list(req):
    """靓号列表"""
    # 选择倒叙排序
    queryset = PrettyNum.objects.all().order_by("-price")

    return render(req, 'pretty_list.html', {"queryset": queryset})

在app下创建templates目录

app/templates/pretty_list.html

<!DOCTYPE html>
<html>
<head>
    <title>靓号列表</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>
<div class="panel panel-default">
    <!-- Default panel contents -->
    <div class="panel-heading">Panel heading</div>
    <div class="panel-body">

    </div>

    <!-- Table -->
    <table class="table">
        <thead>
        <tr>
            <th>ID</th>
            <th>号码</th>
            <th>价格</th>
            <th>级别</th>
            <th>状态</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>
        {% for obj in queryset %}
            <tr>
                <th>{{ obj.id }}</th>
                <th>{{ obj.mobile }}</th>
                <th>{{ obj.price }}</th>
                <th>{{ obj.get_level_display }}</th>
                <th>{{ obj.get_status_display }}</th>

            </tr>

        {% endfor %}

        </tbody>

    </table>
</div>

</body>
</html>

启动服务,访问

Django框架 靓号管理(增删改查),Python,django,数据库

准备提交添加

backend/urls.py

from django.contrib import admin
from django.urls import path
from app import views

urlpatterns = [
    path('admin/', admin.site.urls),
    # 列表
    path('pretty/list/', views.pretty_list),
    # 添加
    path('pretty/add/', views.pretty_add),
]

app/views.py

from django.core.validators import RegexValidator
from django.shortcuts import render, redirect
from django import forms
from app.models import *


# Create your views here.
def pretty_list(req):
    """靓号列表"""
    # 选择倒叙排序
    queryset = PrettyNum.objects.all().order_by("-price")

    return render(req, 'pretty_list.html', {"queryset": queryset})


class PrettyModelForm(forms.ModelForm):
    class Meta:
        model = PrettyNum
        fields = ['mobile', 'price', 'level', 'status']


def pretty_add(request):
    """添加"""
    if request.method == "GET":
        form = PrettyModelForm()
        return render(request, 'pretty_add.html', {"form": form})
    form = PrettyModelForm(data=request.POST)
    if form.is_valid():
        form.save()
        return redirect('/pretty/list/')

    return render(request, 'pretty_add.html', {"form": form})

app/templates/pretty_add.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>添加</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div style="padding: 100px 100px 10px;">
    <form method="post" novalidate>
        {% csrf_token %}
        {% for filed in form %}
            <div>
                <label>{{ filed.label }}</label>
                {{ filed }}

            </div>




        {% endfor %}
        <button type="submit" class="button">提交</button>


    </form>
</div>

</body>
</html>

编辑靓号

  • 列表页面:/pretty/数字/edit/
  • url
  • 函数
    • 根据ID获取当前编辑对象
    • ModelForm配合,默认显示数据
    • 提交修改

backend/urls.py

from django.contrib import admin
from django.urls import path
from app import views

urlpatterns = [
    path('admin/', admin.site.urls),
    # 列表
    path('pretty/list/', views.pretty_list),
    # 添加
    path('pretty/add/', views.pretty_add),
    # 编辑
    path('pretty/<int:nid>/edit/', views.pretty_edit),
]

app/views.py

from django.core.validators import RegexValidator
from django.shortcuts import render, redirect
from django import forms
from app.models import *





class PrettyEditModelForm(forms.ModelForm):
    mobile = forms.CharField(disabled=True, label="手机号")  # 不允许修改

    class Meta:
        model = PrettyNum
        fields = ['mobile', 'price', 'level', 'status']





def pretty_edit(request, nid):
    row_obj = PrettyNum.objects.filter(id=nid).first()
    if request.method == "GET":
        form = PrettyEditModelForm(instance=row_obj)
        return render(request, 'pretty_edit.html', {"form": form})

    form = PrettyEditModelForm(data=request.POST, instance=row_obj)
    if form.is_valid():
        form.save()
        return redirect('/pretty/list/')

    return render(request, 'pretty_edit.html', {"form": form})

app/templates/pretty_edit.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>添加</title>
    <link rel="stylesheet" href="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div style="padding: 100px 100px 10px;">
    <form method="post" novalidate>
        {% csrf_token %}
        {% for filed in form %}
            <div>
                <label>{{ filed.label }}</label>
                {{ filed }}

            </div>




        {% endfor %}
        <button type="submit" class="button">提交</button>


    </form>
</div>

</body>
</html>

查询

根据电话号码查询

app/views.py

#Get方法
def pretty_list(request):
    """靓号列表"""
    # 选择倒叙排序
    data_dict = {}
    val = request.GET.get('q')
    queryset = queryset = PrettyNum.objects.all().filter(**data_dict).order_by("-price")

    if val:
        data_dict["mobile__contains"] = val
        queryset = PrettyNum.objects.all().filter(**data_dict).order_by("-price")

    return render(request, 'pretty_list.html', {"queryset": queryset})


Django框架 靓号管理(增删改查),Python,django,数据库文章来源地址https://www.toymoban.com/news/detail-656063.html

到了这里,关于Django框架 靓号管理(增删改查)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Django学习记录:使用ORM操作MySQL数据库并完成数据的增删改查

    数据库操作 MySQL数据库+pymysql Django开发操作数据库更简单,内部提供了ORM框架。 安装第三方模块 ORM可以做的事: 1、创建、修改、删除数据库中的表(不用写SQL语句)。【无法创建数据库】 2、操作表中的数据(不用写SQL语句)。 1、自己创建数据库 1)启动MySQL服务 2)自带

    2024年02月14日
    浏览(43)
  • [Python+Django]Web学生信息管理系统数据库设计及系统实现

    本文我们完成数据的设计,并通过Django框架完成数据库构建同时利用Django框架模式实现学生信息管理系统的功能。 简单的包装下毕设应该没问题了。 Python,Mysql,Pycharm的安装本文就不做特别介绍了,有需要的同学请参考如下博文。 Python + Django4 搭建个人博客(二):准备开

    2024年02月03日
    浏览(50)
  • Django、数据库----------ORM框架

    目录 1.安装第三方模块 2.ORM 1.自己创建数据库 2.django连接数据库 3.django操作表 创建表:在models.py文件中 删除表以及修改表 在表中新增列时,由于已存在列中可能已有数据,所以新增列必须要指定新增列对应的数据 Django开发操作数据库更简单,内部提供了ORM框架。   ORM可以

    2024年02月09日
    浏览(44)
  • django框架——实现MySQL数据库数据的删除

    在html中的删除按钮中绑定js文件中的事件,带上参数,点击即触发(删除按钮不能是a链接,不然报错) js文件中实现该功能,发起ajax请求到后端视图中对数据库进行操作 路由导入 在视图里面实现删除功能

    2024年02月13日
    浏览(40)
  • 使用Django框架完成用户的增删改查操作

    使用Django框架完成用户的增删改查操作,需要按照以下步骤进行: 创建Django项目: 在命令行中进入项目目录,执行以下命令创建一个新的Django项目: 其中projectname是你的项目名称。 创建应用: 在项目目录下执行以下命令创建一个新的应用: 其中appname是你的应用名称。 配置

    2024年01月18日
    浏览(33)
  • 使用Django自带的后台管理系统进行数据库管理的实例

    Django自带的后台管理系统主要用来对数据库进行操作和管理。它是Django框架的一个强大功能,可以让你快速创建一个管理界面,用于管理你的应用程序的数据模型。 使用Django后台管理系统,你可以轻松地进行以下操作: 数据库管理:你可以查看、添加、编辑和删除数据库中

    2024年02月15日
    浏览(48)
  • 基于Python仓库管理系统的设计与实现django框架

    摘 要 随着信息化时代的到来,系统管理都趋向于智能化、系统化,仓库管理系统也不例外,但目前国内的有些公司仍然都使用人工管理,公司规模越来越大,同时信息量也越来越庞大,人工管理显然已无法应对时代的变化,而仓库管理系统能很好地解决这一问题,轻松应对

    2023年04月08日
    浏览(27)
  • 【python】Django——连接mysql数据库

    笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~ 【Django专栏】 Django——django简介、django安装、创建项目、快速上手 Django——templates模板、静态文件、django模板语法、请求和响应 Django——连接mysql数据库 ORM(Object-Relational Mapping)是一种编程技术,它允许开发者使用面

    2024年02月04日
    浏览(45)
  • Python Django 之连接 Mysql 数据库详解

    博客:https://blog.csdn.net/qq_34745941/article/details/122549376 若已安装,请忽略。 主要使用的文件如图 若 pip 安装失败,可进入 Python 官方库中下载 whl 文件,操作可参考: 博客:https://blog.csdn.net/qq_34745941/article/details/106341898 在 settings.py 中,配置 Mysql 的连接串 扩展: Django 也支持其

    2024年02月04日
    浏览(43)
  • Django ORM:数据库操作的Python化艺术

    Django的对象关系映射器(ORM)是其核心功能之一,允许开发者使用Python代码来定义、操作和查询数据库。这篇文章将带你深入了解Django ORM的强大之处,从基本概念到高级查询技巧,提供丰富的示例帮助你掌握使用Django ORM进行有效和高效的数据库操作。 Django ORM的目的是提供一

    2024年02月04日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包