一、环境的搭建
先安装pip
yum install python-pip
安装失败:
安装epel扩展源
yum install epel-release
在安装pip
再利用pip安装django
pip install Django
或者pip install Django==1.8.16(版本号)
升级:pip install --upgrade pip
二、Django创建项目
执行命令:
django-admin.py startproject project_name(自己的项目名称)
执行完之后会创建一个project_name的文件夹:
在project_name文件夹下执行:
python manage.py runserver 0:8000
这时程序运行成功,但是终端会提示:
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
在浏览器中访问时会提示:
A server error occurred. Please contact the administrator.
这时在终端下会有一句:
raise DisallowedHost(msg)
DisallowedHost: Invalid HTTP_HOST header: '192.168.1.78:8000'. You may need to add u'192.168.1.78' to ALLOWED_HOSTS.
不能访问这个server的原因:
没有创建任何的app或者创建了app但没有同步到数据库。
django 1.7和1.8之间的区别:
django 1.7:当setting.py文件中DEBUG=True或者在运行测试时,主机认证将被禁用;任何主机都将被接受。因此在1.7版本中可能不会存在这中问题(本人使用的是1.8.18)。
django 1.8:当setting.py文件中的DEBUG=True并且ALLOWED_HOSTS=[]时,将对主机进行验证['localhost', '127.0.0.1', '[::1]']。
解决方法:
把setting.py文件中的ALLOWED_HOSTS=[]改为ALLOWED_HOSTS=['*'],重启服务器,使用浏览器访问。
但是在终端中还会有提示,这是因为没有创建任何的app或者创建了app但没有同步到数据库。
可使用命令:python manage.py migrate(在修改model后在不影响现有数据的前提下重建表结构)
或者在settings.py里加上这么一句:TEST_RUNNER = 'django.test.runner.DiscoverRunner' (这个还是有提示)
三、试图与网址
先修改settings.py文件中的INSTALLED_APPS:把自己的app加在里面。这是为了让django自动找到模板文件和静态文件。
再修改views.py文件,可以把想要在网页现实的内容在这个文件中进行编辑。
最后修改urls.py文件,加入自己的路径。
重启服务。(修改文件没有先后顺序)