前几天在网上看到了篇采用Django搭建简易博客的视频,好奇心驱使也就点进去学了下,毕竟自己对于Django是无比敬畏的,并不是很了解,来次初体验。

  本文的操作环境:ubuntu、python2.7、Django1.8.6、Pycharm5。其实自从使用了ubuntu之后就很神奇的喜欢上了它,真的用起来方便很多。

1.Django项目文件并创建blog应用

(1)可以在终端中建立Django项目,使用django-admin startproject ...直接上图:

建立blog应用:

(2)在pycharm中建立Django项目

  下载安装Pycharm,选择new project,建立项目直接上图:

  这样就建立好了一个项目,其实相对于vim,选取pycharm更加方便,它的缩进还有自动添加功能真的很棒。

建立好了我们可以看到:

2. 建立一个简单项目

  在创建的Django项目中,打开views.py,用到了Html中的简单操作,编写:

from django.shortcuts import render
from django.http import HttpResponse def hello(request):
return HttpResponse('<h1>hello benben<h2>')

同时,结合正则表达式,可在urls.py中做如下修改:

urlpatterns = [
url(r'^blog/$','blog.views.hello'),
url(r'^admin/', include(admin.site.urls)),
]

打开浏览器,输入:localhost:8000/blog/,回车:

  这样对Django的操作有了一个简单的了解。当然结合Html的相关知识,也可以对做一定的修改:

在templates中建立hello.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>hello {{name }}! Age:{{ age|add:2 }}</h1>
<p>2015.11.22 sunday</p>
<p>愿你能做自己喜欢的事儿,过自己喜欢的生活</p>
</body>
</html>

在views做如下修改:

def hello(request):
name = 'benben'
age = 18
return render(request,'hello.html',locals())

打开localhost:8000/blog:

3.models数据库映射

 建立一个博客,那么势必是要有作者和文章这两个简单的对象,在models.py中建立:

from django.db import models

# Create your models here.

class Author(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField(max_length=18) class Article(models.Model):
title=models.CharField(max_length=200)
content = models.TextField()
url=models.URLField()
portal = models.ImageField()
author = models.ForeignKey(Author)

在pycharm中tools中选取Run manage.py Task输入migrate,如下图:

在终端中查看建好的数据库:

在这里是sqlite3的原因是在setting.py中:

当然,有需要使用Mysql的朋友也可以在此设置MySql.

4.admin后台管理

自动生成了admin.py,在这里建立之前的两个类Article和Author:

from django.contrib import admin
from blog.models import *
# Register your models here.
admin.site.register(Article)
admin.site.register(Author)

之后运行服务器,在Run manage.py Task中输入syncdb,连接数据库:

输入yes,之后的命名邮箱密码之类的自己设定,打开浏览器,输入localhost:8000/admin,回车:

输入设定的用户和密码:

这样,我们就完成了一个博客的最简单的功能,可以访问后台创建文章:

总的来说,要学的东西还有很多,也算是对Django有了一个简单的认识了。总是在做着自己喜欢的事儿,嗯,想一直坚持下去呢...

  

Django初体验——搭建简易blog的更多相关文章

  1. django初体验 学习笔记

    django环境搭建     1.安装Python     2.ipython         sudo apt-get install ipython         sudo pip instal ...

  2. Ubuntu下Django初体验(一)——开发环境搭建

    一.开发 环境搭建 1. linux下一般有自带的python,如果对版本不满意,可以再自行安装. 2. 安装ipython(推荐) sudo apt-get install ipython sudo ...

  3. Django初体验

    为什么使用Django 快速开发 使用python 数据库ORM系统 大量内置应用 后台管理系统 admin 用户认证系统 auth 会话系统 sessions 安全性高 表单验证 SQL注入 跨站点 ...

  4. Ubuntu下Django初体验(三)——django初体验

    Django中的重要概念: 一次web访问的实质: 1. 客户发送http请求到web服务回 2. web服务器返回html页面给客户 Django概述: 1. URL配置             建 ...

  5. Ubuntu下Django初体验(二)——创建工程及应用

    一.工程目录详解 创建工程后得到如下目录: 1. manage.py 管理项目.创建数据库.启动服务器等.测试等. 查看子命令: python manage.py 启动服务器: python mana ...

  6. Django项目和Django初体验和创建、目录结构认识

    .MVC的设计方式(跟Flask一样,都是MVC的设计模式) .开发效率高 .功能强大(丰富的第三方组件) .安全性高(帮助开发者规避安全漏洞) 目前市面上使用:Django>Flask #使用 ...

  7. python第十七天-----Django初体验

    Django是一个MTV框架 M:models(数据库) T:templates(放置html模版) V:views(处理用户请求) 那么传说中的MVC框架又是什么呢? M:models(数据库) V ...

  8. Django初体验(一):自定义表单提交

    注:本人使用的Django1.8.3版本进行测试 除了使用Django内置表单,有时往往我们需要自定义表单.对于自定义表单Post方式提交往往会带来由CSRF(跨站请求伪造)产生的错误"CS ...

  9. pythonのdjango初体验

    简单的一个列表展示,实现了增.删.插 1.通过新建项目来创建一个Django项目 2.通过pycharm中的Terminal来创建app   ,命令如下: python manage.py start ...

随机推荐

  1. 10 Spring框架 AOP (三) Spring对AspectJ的整合

    上两节我们讲了Spring对AOP的实现,但是在我们的开发中我们不太使用Spring自身的对AOP的实现,而是使用AspectJ,AspectJ是一个面向切面的框架,它扩展了Java语言.Aspect ...

  2. JavaScript创建类的三种方式

    //第一种 创建类方法. // 用方法模拟 构造函数. function classobj() { this.name = 'xiaoming'; } classobj.text = 'text'; ...

  3. 3d旋转动画焦点图

    在线演示 本地下载

  4. 《网络攻防》 MSF基础应用

    20145224陈颢文 <网络攻防>MSF基础应用 基础问题回答 用自己的话解释什么是exploit,payload,encode: exploit:攻击手段,是能使攻击武器(payloa ...

  5. 华为S5700系列交换机配置通过流策略实现VLAN间三层隔离

    组网图形 图1 配置通过流策略实现VLAN间三层隔离组网图 组网需求 如图一所示,为了通信的安全性,某公司将访客.员工.服务器分别划分到VLAN10.VLAN20.VLAN30中.公司希望: 员工.服 ...

  6. Luogu-3527 [POI2011]MET-Meteors

    Luogu-3527 [POI2011]MET-Meteors 题面 Luogu-3527 题解 感觉和上一那道题是一个类型的,直接二分答案,用BIT维护区间加(差分)即可 代码 #include&l ...

  7. 关于ENABLE_BITCODE

    pod 'TSVoiceConverter' 如果,设置了工程target的ENABLE_BITCODE为NO.但是,在真机上运行时,仍然提示类似于如下错误: URGENT: all bitcode ...

  8. 用户iis可以用外网ip访问,用内网访问报错404

    如下,没有添加内网ip绑定

  9. Hibernate -- 一对一映射

    一对一关联指两个表之间的记录是一一对应的关系.分为两种:外键关联和主键关联. (1)外键关联 比如一家公司(Company)和它所在的地址(Address).在业务逻辑中要求一家公司只有唯一的地址,一 ...

  10. Search in Rotated Sorted Array, 查找反转有序序列。利用二分查找的思想。反转序列。

    问题描述:一个有序序列经过反转,得到一个新的序列,查找新序列的某个元素.12345->45123. 算法思想:利用二分查找的思想,都是把要找的目标元素限制在一个小范围的有序序列中.这个题和二分查 ...