数据库代码块
1 from django.db import models 2 from django.utils import timezone 3 from django.contrib.auth.models import User 4 5 # Create your models here. 6 class BlogArticles(models.Model): 7 title = models.CharField(max_length=30) 8 author = models.ForeignKey(User,related_name="blog_posts") 9 body = models.TextField() 10 publish = models.DateTimeField(default=timezone.now) 11 12 class Meta: 13 ordering = ("-publish",) 14 15 def __str__(self): 16 return self.title
显示文章标题代码块
1 from django.shortcuts import render 2 from .models import BlogArticles 3 4 def blog_title(request): 5 blogs = BlogArticles.objects.all() 6 return render(request,'blog/titles.html',{"blogs":blogs})
公共模板base.html
1 {% load staticfiles %} 2 <!DOCTYPE html> 3 <html lang="en"> 4 <head> 5 <meta charset="UTF-8"> 6 <title>{% block title %}{% endblock %}</title> 7 <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.min.css"> 8 </head> 9 <body> 10 <div class="container"> 11 {% block content %} 12 {% endblock %} 13 </div> 14 <script src="/static/jquery.min.js"></script> 15 <script src="/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script> 16 </body> 17 </html>
显示文章标题
unblog的url中
url(r'^blog/', include('blog.urls')),
blog的url中
url(r'^blog_title/', views.blog_title),
视图函数
1 from .models import BlogArticles 2 3 def blog_title(request): 4 blogs = BlogArticles.objects.all() 5 return render(request,'blog/titles.html',{"blogs":blogs})
titles。html
1 {% extends "base.html" %} 2 3 {% block title %}blog titles{% endblock %} 4 5 {% block content %} 6 <div class="row text-center vertical-middle-sm" ><h1>我的博客</h1></div> 7 <div class="row"> 8 <div> 9 <ul> 10 {% for blog in blogs %} 11 <li><a href="#">{{ blog.title }}</a></li> 12 {% endfor %} 13 </ul> 14 </div> 15 </div> 16 {% endblock %}
显示结果
查看文章内容
映射关系
url(r'^blog_title/$', views.blog_title), url(r'^blog_title/(?P<nid>\d)/$', views.blog_article),
前端中的title,html更改项目
{% for blog in blogs %}
<li><a href="{{ blog.id }}">{{ blog.id }}>>>{{ blog.title }}</a></li>
{% endfor %}
函数部分
1 def blog_article(request,nid): 2 # article=BlogArticles.objects.get(id=nid) 3 article= get_object_or_404(BlogArticles,id=nid) 4 pub = article.publish 5 return render(request,'blog/content.html', {"article":article,"pub":pub})
content.html前端代码
{% extends "base.html" %}
{% block title %}blog articel{% endblock %}
{% block content %}
<div class="row text-center vertical-middle-sm"><h1>{{ article.title }}</h1></div>
<div class="row">
<div>
<P class="text-center">
<span>{{ article.author.username }}</span>
<span>{{ pub }}</span>
</P>
</div>
<div>{{ article.body }}</div>
</div>
{% endblock %}
最后结果
url代码
url(r'^register/$', views.user_register, name='user_register'),
注册的视图函数
def user_register(request): if request.method == 'GET': user_form = RegistrationForm() return render(request, 'account/register.html', {"form": user_form}) if request.method == 'POST': user_form = RegistrationForm(request.POST) print(">>>",request.POST) if user_form.is_valid(): new_user = user_form.save(commit=False) print('1',new_user) new_user.set_password(user_form.cleaned_data['password']) print('2',new_user) new_user.save() return HttpResponse('注册成功') else: return HttpResponse('注册失败') else: user_form = RegistrationForm() return render(request, 'account/register.html', {"form": user_form})
html验证的代码
注册时的代码html的代码
1 {% extends "base.html" %} 2 {% load staticfiles %} 3 {% block title %}用户注册{% endblock %} 4 5 {% block content %} 6 <div class="row text-center vertical-middles-sm"> 7 <h1>登陆注册页面</h1> 8 <p>如果账户已存在请<strong><a href="{% url 'account:user_login' %}">登陆</a></strong></p> 9 <p>或者,请注册</p> 10 <form class="form-horizontal" action="." method="post">{% csrf_token %} 11 <div class="form-group"> 12 <label for="{{ from.username.id_for_lable }}" class="col-md-5 control-label">Username</label> 13 <div class="col-md-6 text-left">{{ form.username }}</div> 14 </div> 15 <div class="form-group"> 16 <label for="{{ from.email.id_for_lable }}" class="col-md-5 control-label">Email</label> 17 <div class="col-md-6 text-left">{{ form.email }}</div> 18 </div> 19 <div class="form-group"> 20 <label for="{{ from.password.id_for_lable }}" class="col-md-5 control-label">Password</label> 21 <div class="col-md-6 text-left">{{ form.password }}</div> 22 </div> 23 <div class="form-group"> 24 <label for="{{ from.password.id_for_lable }}" class="col-md-5 control-label">Confirm Password</label> 25 <div class="col-md-6 text-left">{{ form.password2 }}</div> 26 </div> 27 <input type="submit" class="btn btn-lg btn-primary" value="注册"> 28 </form> 29 </div> 30 {% endblock %}
未完待续