django web开发(六)靓号管理

靓号管理

已学部分

无注释纯享

models.py
class PrettyNum(models.Model):
    """靓号表"""
    mobile = models.CharField(verbose_name="手机号",max_length=11)
    price = models.IntegerField(verbose_name="价格",null=True,blank=True)
    # 允许为空
    level_choices = ((5, "ssr"),(4,'s'),(3,'a'),(2,'b'),(1,'c'))
    level = models.SmallIntegerField(verbose_name="等级",choices=level_choices,default=5)

    status_choices = ((1, "占用"), (2, "未占用"))
    status = models.SmallIntegerField(verbose_name="状态",choices=status_choices,default=2)

url.py

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

urlpatterns = [
    # 靓号管理
    path('plist/', views.plist),
    path('padd/', views.prety_add),
    path('pretty/<int:dpid>/del', views.pretty_delete),
    path('pretty/<int:epid>/edit', views.pretty_edit),

]

views.py
def plist(request):
    # 相当于select * from 表 order by level desc;
    plist = models.PrettyNum.objects.all().order_by("-level")
    return render(request, 'pretty_list.html', {
   "plist": plist})


from django import forms


class PModelForm(forms.ModelForm):
    class Meta:
        # fields = ["model", "price", "level", "status"]
        fields = '__all__'
        model = models.PrettyNum
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        for name, field in self.fields.items():
            field.widget.attrs = {
   "class": "form-control", "placeholder": field.label}


def prety_add(request):
    if request == "GET":
        pform = PModelForm()
        return render(request, 'pretty_add.html', {
   'form': pform})
    pform = PModelForm(request.POST)
    if pform.is_valid():
        pform.save()
        return redirect("/plist/")
    return render(request, 'pretty_add.html', {
   'form': pform})


def pretty_edit(request, epid):
    p_obj = models.PrettyNum.objects.filter(id=epid).first()
    if request.method == "GET":
        pform = PModelForm(instance=p_obj)
        return render(request, 'pretty_add.html', {
   'form': pform})
    pform = PModelForm(data=request.POST, instance=p_obj)
    if pform.is_valid():
        pform.save()
        return redirect("/plist/")
    return render(request, 'pretty_add.html', {
   'form': pform})


def pretty_delete(request, dpid):
    models.PrettyNum.objects.filter(id=dpid).delete()
    return redirect("/plist/")

pretty_list.html

{% extends 'moban.html' %}

{% block mbname %}
<div>
    <div class="container">

        <div class="bs-example" data-example-id="panel-without-body-with-table">
            <div class="panel panel-default">
                <!-- Default panel contents -->
                <div class="panel-heading"><span class="glyphicon glyphicon-list" aria-hidden="true"></span> 部门列表
                </div>
                <!-- Table -->
                <table class="table table-bordered">
                    <thead>
                    <tr>
                        <th>ID</th>
                        <th>号码</th>
                        <th>价格</th>
                        <th>级别</th>
                        <th>状态</th>
                        <th>操作</th>
                    </tr>
                    </thead>
                    <tbody>
                    {% for i in plist %}
                        <tr>
                            <td>{
  { i.id }}</td>
                            <td>{
  { i.mobile }}</td>
                            <td>{
  { i.price }}</td>
                            <td>{
  { i.level }}</td>
                            <td>{
  { i.status }}</td>
                            <td>
                                <a class="btn btn-primary btn-xs" href="/pretty/{
    { i.id }}/edit">编辑</a>
                                <a class="btn btn-danger btn-xs" href="/pretty/{
    { i.id }}/del">删除</a>
                            </td>
                        </tr>
                    {% endfor %}
                    </tbody>
                </table>
            </div>
        </div>

    </div>
</div>
{% endblock %}

pretty_add.html
{% extends 'moban.html' %}

{% block mbname %}
    <div>
        <div class="container">
            <div class="panel panel-default">
                <div class="panel-heading">
                    <h3 class="panel-title">靓号添加</h3>
                </div>
                <div class="panel-body">
                    <div class="container">
                        <form class="form-horizontal" method="post" novalidate>
                            {% csrf_token %}

                            {% for field in form %}
                                <div class="form-group">
                                    <label class="col-sm-2 control-label">{
  { field.label }}: </label>
                                    <div class="col-sm-8">
                                        {
  { field }}
                                        {
  { field.errors.0 }}
                                    </div>
                                </div>
                            {% endfor %}

                            <div class="form-group">
                                <div class="col-sm-offset-2 col-sm-10">
                                    <button type="submit" class="btn btn-primary">提交</button>
      
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值