1. 运行命令行工具,输入:pip install virtualenv  --安装virtualenv库。
  2. virtualenv blog_project_venv ——使用virtualenv创建一个虚拟环境
  3. blog_project_venv\Scripts\activate ——进入刚创建的虚拟环境
  4. pip install django ——在虚拟环境中安装django
  5. django-admin.py startproject blog_project ——创建一个项目
  6. python manage.py startapp blog ——创建一个app
  7. 进入blog文件夹,创建一个新文件夹命名为‘templates’,里面放这个app的网页,再创建一个新文件夹命名为‘static’,里面放这个app的css、js、img等文件
  8. 修改setting.py 
    INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 添加第六步创建的app名字
    'blog',
    ]
    TEMPLATES = [
    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS': [
       # 将第七步创建的放网页的文件夹‘templates’与django配置文件关联起来
    os.path.join(BASE_DIR, 'templates'),
    ],
    'APP_DIRS': True,
    'OPTIONS': {
    'context_processors': [
    'django.template.context_processors.debug',
    'django.template.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
    ],
    },
    },
    ]
    # 将第七步创建的放css、js、img文件的文件夹与django配置文件关联起来
    STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static'),
    )
  9. 设置添加主页 
    blog_project\urls.py
    from django.conf.urls import url
    from django.contrib import admin
    # 从views.py中导入读取主页的函数index
    from blog.views import index urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', index, name='index')
    ] blog\views.py
    from django.shortcuts import render # Create your views here.
    # 创建读取主页的函数index
    def index(request):
    return render(request, 'index.html', locals())
  10. 更改网页的静态模板
    {% load staticfiles %}
    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>某某某的个人博客</title>
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <link href= "{% static 'css/base.css' %}" rel="stylesheet">
    <link href="{% static 'css/index.css' %}" rel="stylesheet">
    <script type="text/javascript" src="{% static 'js/jquery.min.js' %}"></script>
    <script type="text/javascript" src="{% static 'js/sliders.js' %}"></script>
    <!--[if lt IE 9]>
    <script src="{% static 'js/modernizr.js' %}"></script>
    <![endif]-->
    </head>
  11. 命令行定位到创建的project文件夹blog_project中,运行命令:python manage.py runserver
  12. 在浏览器中输入‘127.0.0.1:8000’进入网页

万里长征第二步——django个人博客(第一步 ——创建主页)的更多相关文章

  1. 万里长征第二步——django个人博客(第三步 —— 设置一些全局变量)

    可以将一些全局变量设置在settingg.py里 #网站的基本信息配置 SITE_NAME = 'John的个人博客' SITE_DESC = '专注学习Python开发,欢迎和大家交流' WEIBO ...

  2. 万里长征第二步——django个人博客(第四步 ——创建数据库)

    在models.py内设置数据库模型 # -*- coding=utf-8 -*- from __future__ import unicode_literals from django.db imp ...

  3. 万里长征第二步——django个人博客(第七步 ——上传文件)

    在项目目录下新建一个 ‘uploads’文件夹以保存上传的文件 配置setting.py文件 MEDIA_URL = '/uploads/' MEDIA_ROOT = os.path.join(BAS ...

  4. 万里长征第二步——django个人博客(第五步 ——配置后台admin)

    在urls.py文件中配置admin路径 from django.conf.urls import url from django.contrib import admin from blog.vie ...

  5. 万里长征第二步——django个人博客(第六步 ——添加富文本编辑器)

    下载kindeditor 在admin.py文件中配置链接 class Media: js = ( '/static/js/kindeditor-4.1.10/kindeditor-min.js', ...

  6. 万里长征第二步——django个人博客(第二步 ——日志记录器)

    定义日志记录器 可以在setting.py里设置日志记录器 # 自定义日志输出信息 LOGGING = { 'version': 1, 'disable_existing_loggers': True ...

  7. 从零开始搭建GitHub个人博客--第一步

    最近一段时间工作不是很忙,便开始着手整理博客并梳理自己的简历 可是,打开cnblog后第一眼我便开始了纠结~ 原起: 一直在cnblog写博客,看博客,突然发现这种在线纯文档记录的方式俨然跟不上时代的 ...

  8. Django个人博客开发 | 前言

    本渣渣不专注技术,只专注使用技术,不是一个资深的coder,是一个不折不扣的copier 1.前言 自学 Python,始于 Django 框架,Scrapy 框架,elasticsearch搜索引擎 ...

  9. Django 系列博客(十六)

    Django 系列博客(十六) 前言 本篇博客介绍 Django 的 forms 组件. 基本属性介绍 创建 forms 类时,主要涉及到字段和插件,字段用于对用户请求数据的验证,插件用于自动生成 h ...

随机推荐

  1. 获取分组后的TOP 1和TOP N记录

    MySQL获取分组后的TOP 1和TOP N记录 有时会碰到一些需求,查询分组后的最大值,最小值所在的整行记录或者分组后的top n行的记录,在一些别的数据库可能有窗口函数可以方面的查出来,但是MyS ...

  2. Ext 目录

    adapter:负责将里面提供第三方底层库(包括Ext自带的底层库)映射为Ext所支持的底层库. build: 压缩后的ext全部源码(里面分类存放). docs: API帮助文档. exmaples ...

  3. 35.Spark系统运行内幕机制循环流程

    一:TaskScheduler原理解密 1,  DAGScheduler在提交TaskSet给底层调度器的时候是面向接口TaskScheduler的,这符合面向对象中依赖抽象而不依赖的原则,带来底层资 ...

  4. JavaScript中字符串分割函数split用法实例

    这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaSc ...

  5. Codeforces 补题记录

    首先总结一下前段时间遇到过的一些有意思的题. Round #474 (Div. 1 + Div. 2, combined)   Problem G 其实关键就是n这个数在排列中的位置. 这样对于一个排 ...

  6. Windows下的cd命令

    http://blog.sina.com.cn/s/blog_5e971b850100rtta.html 首先先了解下什么是驱动器,什么是盘符. 驱动器是指通过系统格式化并带有一个驱动器号的存储区域, ...

  7. js中__proto__和prototype的区别和关系

          首先,要明确几个点:1.在JS里,万物皆对象.方法(Function)是对象,方法的原型(Function.prototype)是对象.因此,它们都会具有对象共有的特点.即:对象具有属性_ ...

  8. devops basic

  9. 德州扑克AI

    德州扑克: 1:outs数,就是所听的牌的数量. 例子: 1:听顺子 4567 outs数就是8,能够成顺子的牌为3和8. 5689 outs数就是4,能够成顺子的牌只有7. 2:听同花     35 ...

  10. CSU - 1334 -好老师(STL-map用法)

    https://cn.vjudge.net/contest/157163#problem/E #include<map> #include<queue> #include< ...