Django 框架在服务器上的配置,以及简易web应用
安装
建议在虚拟环境中来运行,以下的应用是基于Centos7
系统,Anaconda Python3.7
虚拟环境下,Django2.2
版本
在conda虚拟环境下安装Django:
# pip install django
创建Django项目
使用django-admin
命令来创建
# django-admin startproject mysite
会自动在当前目录创建一个mysite
文件夹,里面包含了初始化的项目文件结构:
mysite/
manage.py
db.sqlite3
mysite/
__init__.py
settings.py
urls.py
wsgi.py
其中:
- mysite: 项目的容器,包含主要的配置文件
- manage.py: Django的命令行工具,它包含了可对Django项目进行操控的命令集
- mysite/init.py: 一个空文件
- mysite/settings.py: Django 项目的配置文件
- mysite/urls.py: Django 项目的 URL 注册文件
- mysite/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口
这时可以测试一下是否创建成功:
# python manage.py runserver 0:8000 // 后面的地址和端口可以不加,默认是localhost:8000
然后在浏览器上输入localhost:8000
会看到django的默认页面
- 首次运行时可能会在页面上可能到
DisallowHost
错误,这时要修改mysite/settings.py
文件,将其中的ALLOWED_HOSTS = []
括号中添加ip地址,
或者直接ALLOWED_HOSTS = ['*']
来允许所有ip访问
运行一个Django项目
1.创建app
django的程序运行一般是通过app来实现的,可以在命令行创建app:
# python manage.py startapp polls // 创建名为polls的app
这时整个mysite的结构变为:
mysite/
manage.py
db.sqlite3
mysite/
__init__.py
settings.py
urls.py
wsgi.py
polls/
__init__.py
admin.py
apps.py
migrations/
__init__.py
models.py
tests.py
views.py
2.编辑网页内容
下一步是设计你想要在页面上显示的内容,它是由app目录下的views.py文件决定的,对于polls app来说,就是polls/views.py
文件
from django.http import HttpResponse
def index(request):
return HttpResponse("Hello, world. You're at the polls index.")
def another(request):
return HttpResponse("Now here is another page.")
Django的网页内容访问通常都是访问的views.py中的函数
,比如上面的index函数
3.注册url地址
然后为你刚刚涉及的内容注册一个url地址,以便能够在浏览器地址输入栏中找到它
在Django中,url的注册有点类似层层递进
,需要配置两个文件:
- 1.mysite目录下的urls.py文件
修改mysite/urls.py
成以下内容
from django.contrib import admin
from django.urls import include, path
urlpatterns = [
path('polls/', include('polls.urls')),
path('admin/', admin.site.urls),
]
其中path()后面的第一个参数'polls/'
指的是url子地址;第二个参数include('polls.urls')
意为该url子地址指向的是polls这个app
- 2.app目录下的urls.py文件
新建polls/urls.py
文件,输入以下内容:
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('another', views.another, name='another'),
]
与上面类似,path()后面的第一个参数指的是url子地址(在本例中将index函数设计成polls app的根地址,所以该参数是一个空字符串);第二个参数意为
该url子地址指向的是views.py中的某个函数
;第三个name是一个可选参数,为url地址命名,这样可以方便模板套用等统一的操作
4.运行
经过以上两个文件的配置,此刻再运行这个项目
# python manage.py runserver