上一篇已经把搭建博客所需要的环境安装好了,这次简单的把项目创建了,打开后台管理就好。现在开车!
一、创建项目
这应该是django编程中亘古不变的第一步吧,打开cmd,进入想要创建项目的文件夹,键入以下命令:
django-admin startproject myblog
回车后项目创建成功,可使用tree命令查看此时项目的树,我是懒人,项目就丢在D盘根目录,所以cmd是这样的:
D:\myblog>tree /f
会显示如下文件夹树
对于我这样的新手,这些文件中基本只会使用settings和urls,前者是项目所有相关的设置,后者是做URLconf的,也就是把网页地址和相应的视图绑定在一起,这里涉及到MVC模式,可在djangobook中查阅。
如果想要生成一个文件,可以这样:
D:\myblog>tree /f > 123.txt
会生成一个txt文档,打开后里面也是上面的树。
二、创建应用
cmd中进入项目文件夹,如果我们想要创建的app应用叫做blog,命令看起来应该是这样的:
D:\myblog>python manage.py startapp blog
此时的树看起来是这样滴:
创建应用后首先要做的事情应该是安装应用,让我们打开settings,把blog添加到APP里,添加后settings应该是这样的:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
**'blog',**
]
那两个**只是markdown里加粗的标志,在代码块中加粗无效,但也可以起到强调的作用,不用敲进去~
关于settings的详细信息,可以看这里。
三、测试服务器
我们可以测试一下服务器能否正常开启,键入如下命令:
D:\myblog>python manage.py runserver
如果一切正常,你会看到这个画面:
服务器开启后,在浏览器的地址栏输入
127.0.0.1:8000
服务器会返回这个画面
当然这一步在创建项目后就可以做了,但是这时候只有我自己可以访问服务器。如果想让局域网内其他的小伙伴也能够访问,要先查看我的IP地址,比如192.168.0.101,并且我想把端口从默认的8000更换为8080,可以像这样:
D:\myblog>python manage.py runserver 192.168.0.101:8080
如此一来,局域网内的计算机都可以访问到这个页面。当然,前提是我把其他人的IP加入到settings中,像这样:
ALLOWED_HOSTS = [**'192.168.0.103',**]
同样,**只是表示加粗的符号,表示强调,一般新添加的内容都会加上这个符号。
四、数据库模型
我无聊读了一遍上面cmd中服务器开启时的系统返回,发现了这一行:
Run 'python manage.py migrate' to apply them.
原来我一直没有创建数据库表,因为在settings中安装blog时,原本已经有6个应用存在了,他们都需要创建表。这时候可以运行一次这个命令,并且未来的日子我会经常敲这个命令。
D:\myblog>python manage.py migrate
系统会返回这些信息:
以后我会经常敲这行命令!因为每次模型的更改都要进行数据库表的迁移。
五、admin后台管理
为了感受主宰一切的快感,我要先打开后台了,如果之前添加了ALLOWED_HOSTS,这里先删掉,不然还得把自己的IP也添加进去。同样的,输入下面的命令:
D:\myblog>python manage.py createsuperuser
这里我拼错两次~按照要求输入用户名、邮箱、密码后,超级管理员就创建好了,注意键入密码时是隐藏的。接下来只要看一眼它的网址就OK:
myblog\urls.py
urlpatterns = [
url(r'^admin/', admin.site.urls),
]
为什么要看呢,因为如果我把上面的admin/改成min/,也是可以的,不过千万别这么干。浏览器地址栏输入
127.0.0.1:8000/admin
就可以进入后台了。
这里有个问题,我十分不愿意看到这一屏幕的英文!没问题,改之。
打开setting.py改成中文,拉到最下面:
LANGUAGE_CODE = 'zh-hans' #'en-us'
TIME_ZONE = 'Asia/Shanghai' #'UTC'
后面的’en-us’和’UTC’是原来的英语,我注释它们,防止以后要改回来。保存后再进入后台,美美的汉字来了!目前后台只有认证和授权这个应用,可以先爽一爽,这就和在聊天室里的管理员一样一样的。
今天再写一句话,要转手写另一篇了。上面的cmd命令中,基本每一句都有manage.py命令,它是django的命令行工具,用来和项目交互的,可以在manage.py中看到它的详细信息。