python的web应用程序开发(Django框架)

python的web应用程序开发(Django框架)

1.安装Django并开启网页服务器
pip install django # 安装Django包
django-admin startproject mysite #在指定路径下新建一个mysite文件夹
文件夹
我新建在默认路径下
本次课程只会修改其中的urls.py文件,新建一个views.py,其他文件都不会修改
python manage.py migrate # 可以不运行,设计数据库
运行成功后的界面
运行成功后的界面
多出的文件
运行成功后多出了db.sqlite3的文件
数据库
用notepad打开后是这样的

python manage.py runserver #开启网页服务器


运行成功后的界面
以上两句命令都需要在mysite文件夹下运行(通过cd进入mysite文件夹),例子如下

C:\Users\吴悠>cd mysite
C:\Users\吴悠\mysite>python manage.py runserver

若在浏览器中访问:http://127.0.0.1:8000/ 显示It worked!则成功开启网页服务器(cmd窗口始终不能关闭)

2.静态网页:I love python
2.1 在mysite/mysite目录下新建views.py,该py文件内的内容如下:

from django.http import HttpResponse
def hello(request):
    return HttpResponse("I love Python! ^-^")

2.2 修改mysite/mysite目录下urls.py为:

from django.conf.urls import url
from django.contrib import admin
from mysite.views import hello
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^hello/$', hello),
]

2.3 访问 http://127.0.0.1:8000/hello/

3.动态网页:获取时间
3.1 修改views.py为:

from django.http import HttpResponse
import datetime

def hello(request):
    return HttpResponse("I love Python! ^-^")

def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)

3.2 修改mysite/mysite目录下urls.py为:

from django.conf.urls import url
from django.contrib import admin
from mysite.views import hello,current_datetime
urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url(r'^hello/$', hello),
     url(r'^time/$', current_datetime),]

3.3 访问 http://127.0.0.1:8000/time/

4.发布网页(pythonanywhere.com
4.1 注册(pythonanywhere.com)
4.2 点击右上方的web进入Add a new web app
4.4 Create new web app:选择Django,选择Python version
4.5 创建好web app后,在该web app的页面下拉至code中的Source code,点击Go to directory
4.6 注意!此时进入的是mysite文件夹,需再次点击左侧菜单栏的mysite,进入mysite/mysite在该页面上传views.py及urls.py(注意.py
4.7 点击左上角的pythonanywhere图案,回到首页,重新“Open Web tab”,点击绿色的Reload
4.8 打开Reload上方提供的网址…….pythonanwhere.com,即可

例如:

http://ilovemichael0804.pythonanywhere.com/time/
http://ilovemichael0804.pythonanywhere.com/hello/
5.模板系统
5.1 修改views.py为:

from django.template import Template, Context

def LovePython(request):
    now = datetime.datetime.now()
    fp = open('C:\Users\Dr.He\Desktop\Courses\Python\Lecture 17 -Django\mysite\mysite\static\ILovePythonTemplate.html')
    # fp =open('/home/ilovepython666/mysite/mysite/static/ILovePythonTemplate.html')
    t = Template(fp.read())
    fp.close()

    html = t.render(Context({'current_date': now}))
    return HttpResponse(html)

有一个需要注意的地方:本地测试时,fp为稍后创建的html文件所在路径,理论上放在任何地方都可以,上方代码中的fp需修改为自己电脑上ILovePythonTemplate.html所在地址
#老师电脑中文件的位置
fp = open(‘C:\Users\吴悠\Desktop\Courses\Python\Lecture 17 -Django\mysite\mysite\static\ILovePythonTemplate.html’)
#我电脑中文件的位置
fp = open(‘C:\Users\吴悠\mysite\mysite\static\ILovePythonTemplate.html’)
5.2 新增ILovePythonTemplate.html文件(具体路径没关系,与views.py中fp相对应即可)

<html>
<head>
</head>
<body>
<h1>I love python</h1>

Jibo He
{{ current_date }}
</body>
</html>

5.3 更新urls.py为:

from django.conf.urls import url
from django.contrib import admin
from mysite.views import hello,current_datetime,LovePython
urlpatterns = [
     url(r'^admin/', admin.site.urls),
     url(r'^hello/$', hello),
     url(r'^time/$', current_datetime),
     url(r'^love/$', LovePython),]

5.4 本地测试

http://127.0.0.1:8000/love/

5.5 发布
在前面发布的基础上在同样的位置重新上传urls.py和views.py,覆盖之前上传的,并且上传ILovePythonTemplate.html文件

上传前,views.py中的fp需要修改,不能是本地路径。例如:
老师将.html文件上传到‘/home/ilovepython666/mysite/mysite/static’下
fp =open(’/home/ilovepython666/mysite/mysite/static/ILovePythonTemplate.html’)
我将.html文件上传到‘/home/ilovemichael0804/mysite/mysite/’下
fp = open(’/home/ilovemichael0804/mysite/mysite/ILovePythonTemplate.html’)
打开…….pythonanywhere.com/love/
例如:http://ilovemichael0804.pythonanywhere.com/love/

猜你喜欢

转载自blog.csdn.net/qq_39905917/article/details/83412654