您的位置:首页 > 编程语言 > Go语言

Django cms 搭建前期准备学习

2017-12-07 00:00 183 查看
摘要: Django 表单和内容管理

1.modules层 添加新的类 赋值类型 poeple是txt类型 form是表单类型

class People(models.Model):
name = models.CharField(null=True, blank=True, max_length=200)
job = models.CharField(null=True, blank=True, max_length=200)

def __str__(self):
return self.name

class Comment(models.Model):
name = models.CharField(null=True, blank=True, max_length=300)
comment = models.TextField()
time = models.CharField(null=True, blank=True, max_length=50)
def __str__(self):
return self.name

2.如果需要后台查看 可以在admin层添加register

from ganji.models import People,Comment

admin.site.register(People)

admin.site.register(Comment)

3.views层添加 form表单 从forms继承

from django.shortcuts import render,redirect

from ganji.models import Comment

from django import forms

class CommnetForm(forms.Form):
name = forms.CharField(max_length=50)
comment = forms.CharField()

创建My_Blog views 层视图

def My_Blog(request):

content_list = {}

if request.method == 'POST':
form_list = CommnetForm(request.POST)
print(form_list)
if form_list.is_valid():
name = form_list.cleaned_data['name']
comment = form_list.cleaned_data['comment']

c = Comment(name=name,comment=comment,)
c.save()
return redirect(to='My_Blog')
else:
form_list = CommnetForm
blog_list= Content.objects.all()
comment_list = Comment.objects.all()
content_list['blog_list'] = blog_list
content_list['comment_list']= comment_list
content_list['form_list'] = form_list
blog_page = render(request, 'My_Blog.html', content_list)
return blog_page

其中注意 redirect重定向时 需要在url层给你的url添加 name

url(r'^My_Blog/', My_Blog,name='My_Blog'),

才能正常重定向

HTML 测试效果:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My blog</title>
<link rel="stylesheet" href="{% static '/css/semantic.css'%}">#本人用的是semantic的UI 比较简单
<script src="{% static 'js/jquery.min.js'%}"></script>#不用jqurey的同学不用加这行
<script src="{% static 'js/semantic.js' %}"></script>
</head>
<body>
<div class="ui statistics">
<div class="teal statistic">
<div class="value">
27
</div>
<div class="label">Views</div>
</div>
</div>

<h2>Comments area</h2>
{% for comment in comment_list %}

<div class="ui comments">
<h3 class="ui dividing header">Comments</h3>
<div class="comment">
<a class="avatar">
<img src="{% static "/images/0001.jpg"%}">
</a>
<div class="content">
<a class="author">{{ comment.name }}</a>
<div class="metadata">
<span class="date">2:00 pm</span>
</div>
<div class="text">{{ comment.comment }}</div>
<div class="actions">
<a class="reply">Reply</a>
</div>
</div>
</div>
</div>

{% endfor %}
<form class="ui form" method="post">

{{ form_list.as_p }}    #as_p方法可以把每个form 变成一个p标签
{% csrf_token %}    #添加csrftoken才能正常访问

<button class="ui button" type="submit">Submit</button>

</form>

</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python Django