首先,请确认要创建web项目的文件夹,此处以个人博客为案例进行项目驱动式的学习
创建个人博客web项目开发文件夹
进入d:/resp_work工作文件夹
cd d:/resp_work
通过如下命令创建一个名称为mysite的项目
django-admin startproject mysite
运行测试项目
创建好的项目可以通过命令行执行运行
首先,进入项目文件夹
cd mysite/
执行命令,启动web服务器
python manage.py runserver
默认情况下,项目启动之后后绑定8000端口,打开浏览器访问http://localhost:8000
出现如下界面,说明django启动成功!
PS1:修改绑定端口
如果我们的8000端口已经被其他正在运行的项目占用,我们可以指定特定的端口启动项目,执行如下命令:
python manage.py port[指定的端口号]
如:python manage.py 9999 使用9999
端口作为web服务器接受端口启动
PS2:目标主机拒绝连接服务
此时如果我们通过http://ip:8000进行访问的话,就会发现被禁止访问了
dial tcp 192.168.1.104:8000: connectex: No connection could be made because the target machine actively refused it.
PS3:使用指定的IP地址来启动web服务器
命令如下:
python manager.py runserver ip:port
如:python manage.py runserver 192.168.13.41:8080
使用192.168.13.41的ip地址以及8080端口启动web服务器
但是此时浏览器中通过输入地址:http://192.168.13.41:8080访问项目时,会发现提示禁止访问的提示:
DisallowedHost at / Invalid HTTP_HOST header:'192.168.1.104:9999'. You may need to add '192.168.1.104' to ALLOWED_HOSTS.
这是因为在
settings.py
配置文件中,没有配置地址的原因
在settings.py中,可以找到ALLOWED_HOSTS
配置[允许访问IP地址列表]
添加地址进去,重启服务器即可让我们的IP地址正常访问了
PS4:允许所有人访问
settings.py中有一个允许访问主机地址的配置ALLOWED_HOSTS
可以设置ALLOWED_HOSTS = ['*']
配置允许所有地址访问
同时在启动项目时,通过绑定固定的IP地址+端口进行如下启动操作
python manage.py runserver 0.0.0.0:8000
此时,运行的项目可以在任意IP地址下都可以访问了!
PS1:项目和模块
Django项目就类似一个插线板一样,只是提供了基本的项目功能[如:供电]
我们的提供具体功能的用电器就是具体的模块应用了,只需要在插线板上插上具体的用电器~插线板供电系统就具备了改电器的功能
Django就是依据类似的原理进行开发的,所有的模块应用都是可插拔的,这样对于项目中功能的可扩展性和可伸缩性得到了非常大的提升!!!
首先
进入我们的项目文件夹,执行如下命令,常见个人博客模块
进入项目文件夹cd mysite/
创建第一个博客应用
django-admin startapp myblog
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'myblog',
]
此时,模块应用创建完毕,并且正常添加到了Django项目中了。
创建视图处理函数
在mysite/mysite/目录下,创建视图处理文件views.p
编辑视图处理函数如下:
引入需要的模块
from django.http import HttpResponse
定义视图处理函数
def index(request):
return HttpResponse("Hello Django!
")
mysite/mysite/urls.py
路由配置文件,编辑如下代码from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^admin', admin.site.urls),
url(r'^$', views.index, name='index'),
]
运行测试
命令行启动web服务器,再次打开浏览器访问http://localhost:8000
此时访问到的页面不再是默认的It work页面,而是我们定义的处理结果页面了