Django学习笔记02

来源:互联网 发布:深圳赛维网络招聘 编辑:程序博客网 时间:2024/05/16 08:31

#系统win7 python3.4 django1.9

#创建一个较为完整的Django博客

1、创建django项目:

首先进入dos界面,切换到想要创建Django项目的路径,我这里是 ,E:\mydjango,运行命令:django-admin startproject myblog03

创建好之后,出现myblog03文件:

2、创建好项目后,接着创建APP。首先在dos中切换到刚才创建的myblog03文件路径下,在运行命令:python manage.py startapp blog。创建成功后出现blog文件:

创建好之后,出现blog文件:

3、设置settings.py文件,创建blog后,要使用,需要将他注册到settings.py文件中,修改settings.py文件,在INSTALLED_APPS中添加blog:

4、创建后台模型:打开blog文件下models.py 文件,添加代码:

from django.db import models# Create your models here.class Blog(models.Model):    title=models.CharField('标题',max_length=32)    author=models.CharField('作者',max_length=16)    content=models.TextField('内容')    pub=models.DateField('发布时间',auto_now_add=True)    class Meta:        verbose_name="博客"        verbose_name_plural=verbose_name    def __str__(self):        return self.title
5、修改blog文件下admin.py文件,注册models.py中的Blog设置:

from django.contrib import adminfrom blog.models import *# Register your models here.class BlogAdmin(admin.ModelAdmin):    list_display = ('title','author','pub')admin.site.register(Blog,BlogAdmin)
6、同步更改数据库表或字段(这里使用Django默认的数据表),运行命令:python manage.py makemigrationspython manage.py migrate

7、创建后台管理员,运行命令:python manage.py createsuperuser

8、运行命令:python manage.py runserver,启动Django

9、进入后台,将网址:http://127.0.0.1:8000/admin,复制到浏览器,输入刚才创建的账号密码,进入后台:

8、点击博客,随便创建一篇文章,如图;此时无法访问到这篇文章。

9、配置视图文件,修改blog下views.py 文件

from django.shortcuts import render,render_to_responsefrom blog.models import *# Create your views here.def index(request):blogs=Blog.objects.all().order_by('-pub')return render_to_response('index.html',{'blogs':blogs})
10、创建index.html文件,首先在blog下建立templates文件,再在templates文件中创建index.html,写入代码:

<!doctype html><html><head><title>我的django测试</title></head><body>{% for blog in blogs %}<p>{{blog.title}}</p><p>{{blog.author}}</p><p>{{blog.content | truncatechars:50}}</p><!--限制展示字数为50字-->{% endfor %}</body></html>
这里的html代码只是做展示,没有去写css等

访问链接:http://127.0.0.1:8000/blog

这里能展示所有的博客,但是如果想要进入到具体的某一篇博客,查看完整的内容,还需要在配置路由与视图。

11、再次配置视图文件,修改blog下views.py文件

from django.shortcuts import render,render_to_responsefrom blog.models import *from django.http import HttpResponse,Http404# Create your views here.def index(request):blogs=Blog.objects.all().order_by('-pub')return render_to_response('index.html',{'blogs':blogs})def detail(request,id):   #参数由url传过来                     try:blog = Blog.objects.get(id=id)  #检查该博客是否存在           except Blog.DoesNotExist:raise Http404("该页面不存在")return render_to_response('blog_list.html',{'blog':blog}) #返回一个单独博客页面

12、再次配置路由:首先修改myblog03下的urls.py文件,修改代码:

from django.conf.urls import urlfrom django.contrib import adminfrom blog import viewsurlpatterns = [    url(r'^admin/', admin.site.urls),    url(r'^blog/', include('blog.urls')),]

再在blog下新建urls.py文件,并添加代码:

#新新建的文件from django.conf.urls import urlfrom django.contrib import admin from blog import viewsurlpatterns=[url(r'^$', views.index, name='index'),url(r'^(?P<id>(\d+))/$', views.detail, name='detail'),]
13、创建单独博客文章的html文件,在11步中,我将博客内容传递给了blog_list.html,因此我在blog下的templates文件中创建blog_list.html文件,写入代码:

<!doctype html><html><head><title>我的django测试</title></head><body><p>标题:{{blog.title}}</p><p>作者:{{blog.author}}</p><p>内容:{{blog.content}}</p></body></html>
14、修改index中代码,实现点击标题后跳转到博客内容中,修改代码:

<!doctype html><html><head><title>我的django测试</title></head><body>{% for blog in blogs %}<p><a href="{% url 'detail' blog.id %}">标题:{{blog.title}}</a></p><!--插入了a标签--><p>作者:{{blog.author}}</p><p>简介:{{blog.content | truncatechars:50}}</p><!--限制展示字数为50字-->{% endfor %}</body></html>

修改完成后,刷新网页:http://127.0.0.1:8000/blog/,


有添加<a>标签的效果了,此时点击标题,就能跳转到相应的博客文章了:



总结:用Django创建简单的博客系统,实现后台管理和发布文章。










原创粉丝点击