1.我早先下载了Anaconda35.0.1。但是Anaconda自带的编辑器Spyder我用的不太熟练。所以还是使用Pycharm来编辑代码。我的Pycharm试用期已经到了,所以需要注册码来使用Pycharm。

(1)先把Pycharm关闭。

(2)然后打开c:\windows\system32\drivers\etc文件夹中的host文件。

(3)将0.0.0.0 account.jetbrains.com添加到hosts文件最后

(4)   保存关闭。因为权限问题无法修改时,重新创建一个hosts文件,然后覆盖原来的hosts文件。

(5)   打开http://idea.lanyus.com/。得到注册码。

(6)打开Pycharm输入注册码。继续使用Pycharm.

2.打开Pycharm。配置Pycharm的python环境,让Pycharm使用Anaconda35.0.1中的库。

3.新建dango项目myblog。

models.py:

from django.db import models

# 类
class Article(models.Model):
title=models.CharField(max_length=,default='title')
content=models.TextField(null=True) def __str__(self):
return self.title

urls.py:

from django.contrib import admin
from django.urls import path,include urlpatterns = [
path('admin/', admin.site.urls),
path('blog/', include('blog.urls')),

myblg\urls.py

from django.urls import path
from . import views
#页面路径
urlpatterns = [
path('index/',views.index),
path('article/<int:article_id>/', views.article_page,name='article_page'),
path('edit/<int:article_id>/', views.edit_page,name='edit_page'),
path('edit/action', views.edit_action,name='edit_action'),
]

blog/urls.py

article_page.py

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{ article.title }}</h1>
<br/>
<h3>{{ article.content }}</h3>
<br/>
<br/>
<a href="{% url 'edit_page' article.id %}">修改文章</a>
</body>
</html>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>{{ article.title }}</h1>
<br/>
<h3>{{ article.content }}</h3>
<br/>
<br/>
<a href="{% url 'edit_page' article.id %}">修改文章</a>
</body>
</html>

edit_page.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Edit_page</title>
</head>
<body>
<form action="{% url 'edit_action' %}" method="post">
{% csrf_token %}
{% if article %}
<input type="hidden" name="article_id" value="{{ article.id }}">
<label>文章标题</label>
<input type="text" name="title" value="{{ article.title }}"/>
<br/>
<label>文章内容</label>
<input type="text" name="content" value="{{ article.content }}"/>
<br/>
{% else %}
<input type="hidden" name="article_id" value="">
<label>文章标题</label>
<input type="text" name="title" value=""/>
<br/>
<label>文章内容</label>
<input type="text" name="content" value=""/>
<br/>
{% endif %}
<input type="submit" value="提交"/>
</form>
</body>
</html>

views.py:

from django.shortcuts import render
from django.http import HttpResponse
from . import models
#响应函数
def index(request):#函数名,目录页面
articles=models.Article.objects.all()#得到全部的数据库中的article
return render(request, 'blog/index.html', {'articles': articles})#跳转到目录页面,跳转页面的参数 def article_page(request,article_id):#查看文章
article=models.Article.objects.get(pk=article_id)#得到数据库中id为article_id的article数据
return render(request,'blog/article_page.html',{'article':article})
def edit_page(request,article_id):#编辑文章
if str(article_id)=='':#如果article_id为0,则为新文章
return render(request,'blog/edit_page.html')#跳转到文章编辑页面
article=models.Article.objects.get(pk=article_id)#否则article为相应id的文章
return render(request, 'blog/edit_page.html', {'article': article})#编辑该文章 def edit_action(request):#编辑文章提交函数
title=request.POST.get('title','TITLE')#接受action的参数
content=request.POST.get('content','CONTENT')
article_id=request.POST.get('article_id','')#得到编辑文章的id
if article_id=='':#如果i编辑的文章id为0
models.Article.objects.create(title=title,content=content)#在数据库中新增article数据
articles = models.Article.objects.all()#得到全部的数据库中的article
return render(request, 'blog/index.html', {'articles': articles})#跳转到目录页面,跳转页面的参数
#获得对象
article=models.Article.objects.get(pk=article_id)
#修改数据库数据
article.title=title
article.content=content
article.save()
#跳转到文章页面
return render(request, 'blog/article_page.html', {'article': article})

全部源代码网址:https://github.com/wangli-wangli/python/tree/master/myblog

dango框架使用mysql教程:https://www.cnblogs.com/fengri/articles/django5.html

用dango框架搭建博客网站的更多相关文章

  1. Hexo系列(一) 搭建博客网站

    写在前面的话:本系列文章主要参考 Hexo官方说明文档,同时结合自己在使用过程中的一些心得体会,撷取下来,和大家分享分享.好,下面闲话不多说,马上开始我们的 Hexo 之旅吧 温馨提醒:博主使用的操作 ...

  2. Django搭建博客网站(四)

    Django搭建博客网站(四) 最后一篇主要讲讲在后台文章编辑加入markdown,已经在文章详情页对markdown的解析. Django搭建博客网站(一) Django搭建博客网站(二) Djan ...

  3. Django搭建博客网站(三)

    Django搭建博客网站(三) 第三篇主要记录view层的逻辑和template. Django搭建博客网站(一) Django搭建博客网站(二) 结构 网站结构决定我要实现什么view. 我主要要用 ...

  4. Django搭建博客网站(二)

    Django搭建自己的博客网站(二) 这里主要讲构建系统数据库Model. Django搭建博客网站(一) model 目前就只提供一个文章model和一个文章分类标签model,在post/mode ...

  5. 部署项目到服务器 & 搭建博客网站

    搭建博客网站 作为名程序员,或者是网络编程爱好者,拥有一个自己的博客网站再好不过,本篇文章手把手教你部署自己的网站

  6. Django搭建博客网站(一)

    Django搭建自己的博客网站(一) 简介 这个系列主要是通过使用Django这个python web框架实现一个简单的个人博客网站.对Django有疑问可以上Django官网查文档. 功能 后台管理 ...

  7. django学习笔记——搭建博客网站

    1. 配置环境,创建django工程 虚拟环境下建立Django工程,即创建一个包含python脚本文件和django配置文件的目录或者文件夹,其中manage.py是django的工程管理助手.(可 ...

  8. Linux下-LNMP环境搭建博客网站(全过程)

    通常我们所说的LNMP是指一个网站基本的组织框架,即Linux系统支持,Nginx静态服务,Mysql数据库支持以及PHP动态编程语言支持.目前Mysql数据库被Oracle数据库分析公司收购,其创始 ...

  9. GitHub+Hexo+gulp搭建博客网站

    一.前期准备 1.注册GitHub账号. 不做说明 2.创建仓库 创建一个新的仓库来放置我们的文件. 3.下载安装Node.js https://nodejs.org/en/   两个版本,选择右边那 ...

随机推荐

  1. Ubuntu重启关机命令使用

    如果你想保持当前用户的登录而且使用root用户执行命令 可以输入:su root,输入密码 可以运行,shutdown 命令 重启命令: 1.reboot 2.shutdown -r now 立刻重启 ...

  2. 关于 block的一些浅识

    block的定义:“带自动变量的匿名函数” (一)写法: ^ void (int iAge){ NSLog(@"%d", iAge);}; 和C函数写法区别在于: 1) :以插入符 ...

  3. p3253 [JLOI2013]删除物品

    传送门 分析 我们发现两个栈可以看作一个数组,而栈顶则是将这个数组拆成两个栈的分割点. 于是每次移动就变成了分割点的移动,每次移动时都统计下目的分割点和当前分割点之间的物品数目即可. 代码 #incl ...

  4. 修改Oracle游标数及排查游标问题相关SQL

    查看当前游标数show parameter open_cursors; 修改游标最大数 ; commit; 查看游标消费情况 select o.sid, osuser, machine, count( ...

  5. 树莓派(Raspberry Pi 3) centos7使用yum命令报错File "/usr/bin/yum", line 30 except KeyboardInterrupt, e:

    使用yum命令报错 File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^SyntaxError: invalid ...

  6. Oracle中date转为timstam可以函数to_timestamp的方式来转化

    data 转为timstam可以函数to_timestamp的方式来转化 Select to_timestamp('2018-02-27 09:48:28','yyyy-mm-dd hh24:mi:s ...

  7. Django之博客系统:增加标签

    一般在发表博客后会给每个帖子加上一个标签.类似帖子关键字的功能.在这一章中来看下如何给博客添加标签功能(tagging) 添加标签需要集成第三方的Django标签应用来完成这个功能.django-ta ...

  8. ubuntu - 14.04,安装rpm程序!!

    一,安装rpm转deb的工具“alien”:在软件中心里面输入“alien”,看是否已经安装,如果没有安装则直接安装. 二,把rpm转换为deb:在shell里输入“sudo alien --scri ...

  9. 适配器设计模式初探(Java实现)

    本篇随笔主要介绍Java实现设配器设计模式. 先来看下待解决的问题: (图片转自http://blog.csdn.net/jason0539) 由上图的情况可知,欧洲壁式插座只有三足插口,如果我们想要 ...

  10. Oracle复制表

    Oracle复制表分为只复制表结构或者结构和数据均复制两种: 只复制表结构 create table newTableName as select * from oldTableName where ...