当前位置:   article > 正文

【Django】搭建简易管理系统基本流程及相关方法_django用户管理系统怎么做

django用户管理系统怎么做

开发手机号管理系统,实践各个功能

文件一:url.py 路由配置
1、定义id后,views对应方法,需要传参

urlpatterns = [
    # path('admin/', admin.site.urls),   
    path('patty/list/',views.patty_list),
    path('patty/add/',views.patty_add),
    path('patty/<int:uid>/delate/',views.patty_delate),
    path('patty/<int:uid>/edit/',views.patty_edit),
]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

文件二:model.py 常见创建字段方法:

class Pattynum(models.Model):
    mobile = models.CharField(verbose_name='手机', max_length=11)
    piac = models.IntegerField(verbose_name='价格',default=0)
    level_choices = (
        (1,'一级'),
        (2,'二级'),
        (3,'三级'),
    )
    level = models.SmallIntegerField(verbose_name='级别',choices=level_choices,default=1)
    ctime = models.DateField(verbose_name='创建时间',default='2022-10-21')
    status_choices = (
        (1,'已售'),
        (2,'未售'),
    )
    status = models.SmallIntegerField(verbose_name='上架',choices=status_choices,default=2)
    def __str__(self):
        return self.mobile
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

文件三:views.py 调用方法:

from django import forms
# 导入正则表达式
from django.core.validators import RegexValidator
# 钩子方法 返回错误信息
from django.core.exceptions import ValidationError
class Pattynu(forms.ModelForm):
    # 校验一 【正则表达式】校验手机号是否正确
    mobile = forms.CharField(
        label='手机号',
        validators=[RegexValidator(r'^1[3,5,7,8]\d{9}$','手机格式错误!')]
    )
    class Meta:
        model = Pattynum
        fields = ['mobile','piac','level','ctime','status']

    # 列表字段添加样式属性方法
    def __init__(self,*args,**kwargs):
        super().__init__(*args,**kwargs)
        for name,filed in self.fields.items():
            filed.widget.attrs={'class':'form-control','placeholder':'请输入'+filed.label}

    # 校验二 【钩子方法】校验手机号是否正确
    def clean_mobile(self):
        text_mobile = self.cleaned_data['mobile']
        if len(text_mobile) != 11:
            raise ValidationError('格式错误')
        return text_mobile
# 增加
def patty_add(request):
    if request.method == 'GET':
        forms = Pattynu()
        return render(request,'patty_add.html',locals())
    forms = Pattynu(data=request.POST)
    if forms.is_valid():
        forms.save()
        return redirect('/patty/list/')
    return render(request,'patty_add.html',locals())

# 编辑
def patty_edit(request,uid):
    staff = Pattynu.objects.filter(id=uid).first()
    if request.method == 'GET':
        form = Pattynu(instance=staff)   # 先实例化对象,然后用instance=实例化对象,就可以将默认值携带编辑页面
        return render(request,'patty_edit.html',locals())
    form = Pattynu(data=request.POST, instance=staff)
    if form.is_valid():
        # 默认保存的是用户输入的所有数据,如果想要再用户输入以外增加一点值
        # form. instance.字段名 = 值
        form.save()
        return redirect('/patty/list/')
    return render(request, 'patty_edit.html', locals())

# 删除
def patty_delate(request,uid):
    Pattynum.objects.filter(id=uid).delete()
    return redirect('/patty/list/')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56

文件四:patty_add.html / patty_edit.html 公用模板调用:

<form method="post" style="margin-top: 20px;" novalidate>
            {% csrf_token %}
            <fieldset>
                {% for obj in forms %}
                <div class="form-group">
                    <label>{{ obj.label }}</label>
                    {{ obj }}
                    <span style="color: red;">{{ obj.errors }}</span>
                </div>
                {% endfor %}
                <button type="submit" class="btn btn-primary">提 交</button>
            </fieldset>
 </form>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/865187?site
推荐阅读
相关标签
  

闽ICP备14008679号