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

Django架设blog步骤

时间:2015-09-08 16:43:23      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:

最近在研究Python,起初是因为想做个爬虫,昨天看了点基础教程,台湾辅仁大学的视频,了解了python的语法规范及语言特性,主要有三:

1.动态脚本语言;

2.语法简洁,强制缩进;

3.应用广泛,web、系统管理、脚本、科学计算等等,第三方应用多;

 

下面开始正文,Django是Python时间中数一数二的web框架,由3个小伙创建,名字来源于一个吉他手(看3人的照片,叛逆青年类型,取这个名也就不奇怪了)。

Django的最大优点就是可以快速建立一个web应用,语法简洁,及其轻量,甚至内含一个web容器;也是基于MVC理念,更准确的说法是MTC。

以下是今天使用Django建立一个blog应用的步骤,走了一点弯路,记录下来备查:

(一)安装

1.安装Python

官网下载windows安装板,3.4.3;安装到D:\Python34

2.安装Django

官网下载1.8.7,zip包,解压到D:\Python34\Django-1.8.4

cd D:\Python34\Django-1.8.4

python setup.py install

自动安装到D:\Python34\Lib\site-packages\Django-1.8.4-py3.4.egg\django

3.创建一个项目

在D:\Python34\Lib\site-packages\Django-1.8.4-py3.4.egg\django\bin目录下,执行 Python-admin.py startproject mysite1

执行完后,自动生成一个mysite1目录,其下有mysite1目录和manage.py文件。

4.启动服务器

manage.py runserver

启动浏览器,检验一下,访问 http://localhost:80000,正常。

5.建立blog应用

manage.py startapp blog

命令执行后,在D:\Python34\Lib\site-packages\Django-1.8.4-py3.4.egg\django\mysite1\ 下生成一个blog文件夹

(1)编辑model

其下的models.py是定义blog数据结构的地方,打开编辑

 1 from django.db import models
 2 from django.contrib import admin
 3 
 4 # Create your models here.
 5 
 6 class BlogPost(models.Model):
 7     title = models.CharField(max_length=150)
 8     body = models.TextField()
 9     timestamp = models.DateTimeField()
10     # def __init__(self, arg):
11     #     super(BlogPost, self).__init__()
12     #     self.arg = arg
13 
14 admin.site.register(BlogPost)

title、body、timestamp是Blog的主体,类似于java中的hibernate,ORM。

最后一行是想admin模块注册,暂时可无视。

(2)安装模块

blog模块需要让mysite1项目知晓,编辑在D:\Python34\Lib\site-packages\Django-1.8.4-py3.4.egg\django\mysite1\mysite1\setting.py文件

 1 # Application definition
 2 
 3 INSTALLED_APPS = (
 4     django.contrib.admin,
 5     django.contrib.auth,
 6     django.contrib.contenttypes,
 7     django.contrib.sessions,
 8     django.contrib.messages,
 9     django.contrib.staticfiles,
10     blog,
11 )

第10行为新加

(3)同步数据

新加了blog模块,并定义了model,需要同步一下数据

执行 manage.py syncdb

提示

Operations to perform:
  Synchronize unmigrated apps: messages, staticfiles
  Apply all migrations: admin, sessions, contenttypes, auth
Synchronizing apps without migrations:
  Creating tables...
    Running deferred SQL...
  Installing custom SQL...
Running migrations:
  No migrations to apply.
  Your models have changes that are not yet reflected in a migration, and so won
t be applied.
  Run manage.py makemigrations to make new migrations, and then re-run manage
.py migrate to apply them.

按照最后一行提示,执行 manage.py makemigrations,执行manage.py,生成blog_blogpost数据表。否则会提示 no such table: blog_blogpost 等。

(6)设置url

编辑在D:\Python34\Lib\site-packages\Django-1.8.4-py3.4.egg\django\mysite1\mysite1\url.py文件,自带的如下,不知道为什么不好使

from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r^admin/, include(admin.site.urls)),
    url(r^blog/,include(blog.urls)),

]

百度后,替换为;

from django.conf.urls import patterns, include, url
#from django.contrib import admin
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns(‘‘,
    # Examples:
    # url(r^$, mysite.views.home, name=home),
    # url(r^mysite/, include(mysite.foo.urls)),

    # Uncomment the admin/doc line below to enable admin documentation:
    url(r^admin/doc/, include(django.contrib.admindocs.urls)),

    # Uncomment the next line to enable the admin:
    url(r^admin/, include(admin.site.urls)),
)

重新启动服务器,访问http://localhost:8000/admin,出现如下界面,

点击blogpost后的+号,提示如下页面,如果不改上面的setting文件报错 ;如 No module named ‘blog.urls‘等。

(7)打完,收工。

 

 

技术分享
技术分享
技术分享

Django架设blog步骤

标签:

原文地址:http://www.cnblogs.com/javajava/p/4792186.html

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