Django 初次见面

文章将写安装和第一次使用时候的操作。文章是照着文档做的,但是以后的内容会有不一样。

安装

pip install django

我这里是使用python3的,也可以使用

pip3 install django

安装成功之后也可以通过

python3 -m django --version

查看版本,如果安装失败,则会返回 No model named django

第一个项目

找到一个放代码的目录,使用命令:

django-admin startproject mysite

django 就会在这个目录下建立一个mysite目录,其结构如下:

[root@guoyunzhe ~]# tree mysite/
mysite/
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py 1 directory, 5 files

然后来解释一下这些文件都是什么:

  • 最外层目录mysite/ 是我们在命令中创建的项目名称,它的名字和django无关,随便起名字都可以。
  • manage.py 文件是本项目的管理文件,项目的开启、配置等操作都通过这个文件完成。
  • 内层的 mysite/ 目录是真正的项目目录,里面含有项目中所需要的各种模块等内容。
  • init.py 是引用模块时必备的文件,告诉解释器这个目录可以看成一个python程序包。
  • mysite/settings.py 是配置文件,负责项目的各种配置。
  • mysite/urls.py 是负责处理url相关操作的。

现在知道这些就够了。

进入第一层mysite目录之后,使用命令:python3 manage.py runserver 来开启服务器,会看到打印出的信息:

[root@guoyunzhe mysite]# python3 manage.py runserver
Performing system checks... System check identified no issues (0 silenced). You have 13 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them. August 16, 2016 - 14:10:43
Django version 1.10, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

看到它提示我们了,还有配置没有完成,需要我们再配置一下,不过先不管这个,可以看到服务已经开启在本地的8000端口,那么可以看一下了。

另外开一个终端,通过curl http://127.0.0.1:8000/

可以看到以下信息:

<!DOCTYPE html>
<html lang="en"><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta name="robots" content="NONE,NOARCHIVE"><title>Welcome to Django</title>
<style type="text/css">
<!--CSS部分就省略不打印了,对本文章并不重要-->
</style>
</head>
<body>
<div id="summary">
<h1>It worked!</h1>
<h2>Congratulations on your first Django-powered page.</h2>
</div>
<div id="instructions">
<p>
Of course, you haven't actually done any work yet. Next, start your first app by running <code>python manage.py startapp [app_label]</code>.
</p>
</div>
<div id="explanation">
<p>
You're seeing this message because you have <code>DEBUG = True</code> in your Django settings file and you haven't configured any URLs. Get to work!
</p>
</div>
</body></html>

但是仍然提醒我们,需要配置,那么我们就配置一下:python3 manage.py migrate,注意这里我使用pip3安装的django,所以默认的python(2.7)是没有这个模块的,所以用pytthon3。

得到结果:

然后再开启服务器试试,python3 manage.py runserver

小结

安装还算顺利,写文章的时候边写边做的,但是环境是阿里云的一个ecs,寝室里就一个windows本。

但是命令行的界面并没有浏览器,只能看文本的网页了。

于是可以采用命令:python3 manage.py runserver 0.0.0.0:8080,可以将服务开放给公网ip,就可以通过浏览器来查看了:

本博文的下一篇文章已经完成,Django 第一个app


[Django_1_0]初次见面的更多相关文章

  1. ES5基础之正则表达式01:初次见面

    1.正则初次见面 测试地址:https://regexper.com 第一个正则:匹配 2006-10-11 或 2006/10/11 var reg = /^\d{4}[-/]\d{2}[-/]\d ...

  2. 与TCP/IP协议的初次见面(一)

    与TCP/IP协议的初次见面(一) 前言 今下午刚才女朋友那边回来,唉,算是情人节去找她吧,穷屌丝住不起好酒店,住的打折酒店,只是女朋友来姨妈了,万幸啊,牙还疼得不行,这几天光照应她了,没空写博客了. ...

  3. webpack 往右一点之 “你好,初次见面”

    webpack  模块打包器 模块化工具的目标: 将依赖树拆分成按需加载的块 初始化加载的耗时尽量少 各种静态资源都可以视作模块 将第三方库整合成模块 自定义打包逻辑 适合大项目

  4. 与TCP/IP协议的初次见面(一)

    引言 最近LZ有了一点时间,于是便拿出TCP/IP的书本开始啃.开始的时候,啃起来枯燥无味,现在好不容易有点开窍,于是赶忙记录一下,生怕自己一转眼就给忘了.不过计算机系统原理就有点可惜了,最近一直没时 ...

  5. kotlin学习-初次见面

    第一次相识 最近看了很多介绍kotlin的文章.怀着好奇心改造了之前用java写的一个工具jar包.功能不是很复杂,类也只有几个,却足足写3个小时.期间一边看教程,一边写,有一种找回原来第一次写代码的 ...

  6. 初次见面 你好EF

    EF(yif),第一次听到这个名字的时候,以为是一个帅帅的魔术师,在小编的傻傻的梦想里,就是有一天,有一个魔术师站在小编面前,变出一大捧的玫瑰花,然后,然后不要钱`(*∩_∩*)′,然而在我们的编程世 ...

  7. TypeScript,初次见面,请多指教 ?

    为什么用 TS ? 说实话,最开始并没有想把 TS 用到实际项目中来,一来是感觉"类型"会限制 JS 的优势(好吧,就是浪写浪惯了):二来听闻 TS + Redux 的酸爽滋味,有 ...

  8. Nancy.Net之旅-初次见面

    Welcome Nancy   首先,欢迎来到Nancy!我们的主要灵感是Ruby的Sinatra框架,因此Nancy以Frank Sinatra的女儿名字命名.许多人想知道NancyFx中的Fx是什 ...

  9. 初次见面,C++(的博客作业)

    懵懂无知.编程是什么?要是你在两个月前问我这个问题,你可能只会得到一个回答“天知道”.依稀记得在初中,上电脑课的老师曾经触及过编程的皮毛(那时候也没有编程的概念,听的似懂非懂),旁边一个同学却在十分熟 ...

随机推荐

  1. csuoj 1395: Timebomb

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1395 1395: Timebomb Time Limit: 1 Sec  Memory Limit ...

  2. Java基础(42):Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用,后者必须先实例化后用实例调用)

    package lsg.ap.april4th2; /* 知识点:1.Getter and Setter 的应用 2.局部变量与成员变量(也可叫做全局变量) 3.Static关键字的用法 a.成员变量 ...

  3. poj: 2739

    挺简单,生成素数表之后建个全素数的vector,然后..随便玩咯 #include <iostream> #include <stdio.h> #include <str ...

  4. UML: 部署图

    说部署图之前,先看看某24小时便利店管理系统的网络拓扑结构图: 这个图描述了本系统的整体物理结构,从该图我们可以得到以下信息:1.该便利店集团有总部和多个门店,总部管理财务.仓库.采购等事宜.2.二级 ...

  5. 动画--过渡所需时间 transition-duration

    transition-duration属性主要用来设置一个属性过渡到另一个属性所需的时间,也就是从旧属性过渡到新属性花费的时间长度,俗称持续时间. 案例演示: 在鼠标悬停(hover)状态下,让容器从 ...

  6. SharedPreferences 轻型的数据存储方式

    //初始化,(名字,隐私或公开) SharedPreferences openTimes=getSharedPreferences("openTimes",0); //提交保存数据 ...

  7. [转]IP动态切换脚本

    因为公司办公室要设置固定IP才行,而家里的IP段和公司是不一样的,家里采用了DHCP机制,这样每次就得改IP设置,很是不方便,就写了这个脚本来动态切换,很流畅的说!WINXP,WIN7测试通过~嘿嘿~ ...

  8. paper 63 :函数比较:imfilter与fspecial

    功能:对任意类型数组或多维图像进行滤波. 用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,...) 或写作g = imfilter(f, w ...

  9. struts2拦截器の简单实现(日语系统,请忽略乱码,重在实现)

    1.创建类实现interceptor接口或者继承abstractinter~~~类 package com.mi.intercepter; import java.util.Date; import ...

  10. clock gating and PLL

    一个gating的clock是指:clock network除了包含inverter和buffer外,还有其他logic. PrimeTime会自动的对gating input进行setup和hold ...