一.前言
声明:
参考了python web开发,以及虫师的blog:http://www.cnblogs.com/fnng/p/3737964.html
特此感谢。
由于版本问题,有些技巧以及命令需要更改,所以搭建过程花费了我一些时间,希望这个教程能提供帮助
这是我学django快速搭建的第一个website
用到的技术:
django1.9 python2.7.5 vim linux
二.过程
第一部分
1.创建工程
django-admin startproject mysite
2.创建应用blog
./manage startapp blog
3.初始化数据库:就是为对象自动创建数据库表 这里下次要应用在mysql,
这里按照书上的先用sqlite
./manage migrate
4.设置超级用户,即admin,输入命令后要输入用户名 和 输入两次密码
./manage createsuperuser
5.设置admin的应用,初始的admin只有2个选项,后面可以将blog加上去
打开~/mysite/mysite/setting.py,找到INSTALL_APPS一行,在()最后一行
加'blog', 记得要加上,
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
)
查看mysite/mysite/urls.py中url(r'admin/')这一行有没有被注释掉(1.9默认打开),如有就取消注释
这是当你输入./manage runserver时就能看到看到一个网址127.0.0.1:8000 用浏览器打开就够看到itwork
,然后输入127.0.0.1:8000/admin/ 如果你输入帐号密码后能进入后台,恭喜,你前面的操作都很成功!
第二部分
6.设计model
进入mysite/blog/,打开models.py,输入(可以直接cp ,覆盖)
from django.db import models
from django.contrib import admin
# Create your models here.
class BlogsPost(models.Model):
title = models.CharField(max_length = 150)
body = models.TextField()
timestamp = models.DateTimeField()
admin.site.register(BlogsPost)
7.再次初始化数据库,书上好像没有这点,如果没做那么你在admin刷不出blog这块。
./manage makemigrations
./manage migrate
8.写一篇文章:进去blog创建一个我们的老传统:helloworld,然后点击save吧。(以前我觉得helloworld只是
很随意的一句话 ,后来写得多了,尤其是最近人工智能的发展,我感觉helloworld有很深奥的内涵)
9.更改blogpost显示: save完后和我们平时看到标题不一样,都是生硬的blogproject标题,这里得改,很简单只要加上一句话,和一个单词(注意admin.site.register()里面要加上BlogPostAdmin)
from django.db import models
from django.contrib import admin
# Create your models here.
class BlogsPost(models.Model):
title = models.CharField(max_length = 150)
body = models.TextField()
timestamp = models.DateTimeField()
class BlogPostAdmin(admin.ModelAdmin):
list_display = ('title','timestamp')
admin.site.register(BlogsPost,BlogPostAdmin)
第三部分 创建blog的公共部分
10. 创建模板,在blog目录下创建一个templates文件夹,创建index.html,输入下面内容(cp)
{% for blog in blog_list %}
{{ blog.title }}
{{ blog.timestamp }}
{{ blog.body }}
{% endfor%}
11.创建视图:打开blog/views.py
#coding=utf-8
from django.shortcuts import render
from blog.models import BlogsPost
from django.shortcuts import render_to_response
# Create your views here.
def index(request):
blog_list = BlogsPost.objects.all()
return render_to_response('index.html',{'blog_list':blog_list})
12.创建一个blog的url:进入mysite/mysite/urls.py ,(cp内容覆盖即可)
#coding=utf-8
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^index/$', 'blog.views.index'),
)
13.你可以再次运行./manage.py runserver ,打开127.0.0.1/index/查看你的文章是否实现(到这里我的127.0.0.1竟然出现404奇怪)
第四部分 设计你的网页吧
14.添加样式:在blog/templates下创建一个base.html文件,vim 输入以下内容
平凡的blog
认真做事,踏实做人,徐来不躁
{% block content %}
{% endblock %}
15.
修改blog/index.html的页面使样式得以展现
{% extends "base.html" %}
{% block content %}
{% for post in posts %}
{{ post.title }}
{{ post.timestamp | date:"1,F jS"}}
{{ post.body }}
{% endfor %}
{% endblock %}
最后声明:能够让你快速搭建一个blog,增加兴趣,深入的话还要多看书...