码迷,mamicode.com
首页 > 其他好文 > 详细

django-添加文章&admin后台管理

时间:2019-10-26 21:13:42      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:superuser   重复   形式   color   表单   跳转   code   防止   pre   

通过表单形式与后端交互:

前端表单:

add.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>添加文章</title>
</head>
<body>

<form action="/add/" method="post" enctype="multipart/form-data">#上传图片时,一定要加上enctype属性
    <p>title :<input name="title"></p>
    </p>content :<input name="content"></p>
    </p><select name="nav_id">
        {% for nav in replace %}
        <option  value="{{ nav.id }}">{{ nav.name }}</option>
        {% endfor %}
    </select></p>
    </p><input type="file" name="img"></p>
    </p><input type="submit" value="提交"></p>
</form>

</body>
</html>

注意:

settings.py

MIDDLEWARE = [
    django.middleware.security.SecurityMiddleware,
    django.contrib.sessions.middleware.SessionMiddleware,
    django.middleware.common.CommonMiddleware,
    # ‘django.middleware.csrf.CsrfViewMiddleware‘, #是防止重复提交,若访问报403禁止访问,注释掉这行数据;或者在add文件中加上{%csrf_token%}
    django.contrib.auth.middleware.AuthenticationMiddleware,
    django.contrib.messages.middleware.MessageMiddleware,
    django.middleware.clickjacking.XFrameOptionsMiddleware,
]

后端:

views.py

def add_article(request):
    #若方法是get,则返回添加页
    if request.method == GET:
        return render(request,add.html)
    #若方式是post,则获取数据,放到数据库
    else:
        title = request.POST.get(title)
        content = request.POST.get(content)
        nav_id = request.POST.get(nav_id)
        img = request.FILES.get(img)
        models.Article.objects.create(title=title,content=content,
                                      nav_id=nav_id,img=img)#把数据存到数据库
        return HttpResponseRedirect(/index)#提交后,页面跳转重定向

urls.py

urlpatterns = [
    path(admin/, admin.site.urls),
    path(index/, views.index),
    path(info/<int:id>, views.info),
    path(nav/<int:id>, views.nav_article),
    path(add/, views.add_article)
]

 admin后台管理

1、添加管理员账号:python manage.py createsuperuser (命令),也可在pycharm中快捷操作

2、

django-添加文章&admin后台管理

标签:superuser   重复   形式   color   表单   跳转   code   防止   pre   

原文地址:https://www.cnblogs.com/wmxgreat/p/11745253.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!