时间:2023-05-29 05:12:01 | 来源:网站运营
时间:2023-05-29 05:12:01 来源:网站运营
2021最新版Django 3 网站开发全过程实录(一):网站一般需要实现三种基本功能:连接数据库、处理用户请求、页面设计的删改。Django的优势在于将这些功能设计成独立的模块,形成一套web框架。利用Django框架开发网站,能让我们专注于编写应用程序而无需重新造轮子。参考:https://stormsha.com/article/2026/我们需要在合适的目录内创建一个虚拟环境(用virtualenv, virtualenvwrapper皆可,参考virtualenvwrapper的使用),我给它取名为webdev。
pip install virtualenv, virtualenvwrapper-winmkvirtualenv webdevworkon webdevpip install djangopip install psycopg2pip listpip freeze# 如果需要退出或删除虚拟环境deactivatermvirtualenv webdev
安装数据库:如果您不受任何遗留系统的束缚,并且可以自由选择数据库后端,那么我们建议您使用PostgreSQL,它可以在成本、功能、速度和稳定性之间取得很好的平衡。(《 Django权威指南》第15页)PostgreSQL的安装步骤参考:https://www.runoob.com/postgresql/windows-install-postgresql.html
cd webdevdjango-admin startproject mysite
我们看到新建了一个文件夹mysite及下面的子文件夹mysite/mysite:mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py
我们可以把子文件夹mysite/mysite视为整个项目的配置,其中的settings.py和urls.py这两个文件是我们以后需要经常修改的。cd mysitepython manage.py runserver
在settings.py内将语言改成中文,时区改为杭州:LANGUAGE_CODE = 'zh-hans'TIME_ZONE = 'Asia/Shanghai'
刷新浏览器看到中文页面。python manage.py runserver 0.0.0.0:8000
使用Windows的用户用ipconfig命令获取本地网络中的IP 地址,然后复制到setting.py中,比如我是这个:ALLOWED_HOSTS = ['192.168.1.110']
于是,在其他电脑或手机浏览器打开 http://192.168.1.110:8000/ 就可以访问啦!完美!不过网站还在开发中,就不要随便开放共享啦~python manage.py startapp idiom
看看这个应用程序下有哪些文件:idiom/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py
from django.http import HttpResponsedef index(request): return HttpResponse("Hello, world. You're at the idiom index.")
type nul>urls.py
看看现在的应用目录:idiom/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py urls.py views.py
然后在idiom/urls.py这个空文件中加入以下代码,将index视图映射到APP的url模式:from django.urls import pathfrom . import viewsurlpatterns = [ path('', views.index, name='index'),]
from django.contrib import adminfrom django.urls import include, pathurlpatterns = [ path('idiom/', include('idiom.urls')), path('admin/', admin.site.urls),]
该include()
功能允许引用其他URLconf,这样我们就将刚刚创建的index视图连接到了网站的URLconf。include()
。python manage.py runserver
打开http://127.0.0.1:8000/idiom/ ,可以看到 Hello, world. You're at the idiom index. 这行文字。urls.py
中,我们都使用了path()
函数,这个函数有两个必需的参数 route
和view
。path
(route,view,kwargs = None,name = None)route
是包含URL模式的字符串,比如目前我们有idiom/
和admin/
。在处理请求时,Django从第一个模式开始,沿列表的顺序,将请求的URL(域名后的部分)与每个模式进行比较,直到找到匹配的URL。这个字符串支持用尖括号匹配和捕获URL的一部分并将其作为关键字参数发送到视图,view
就是指定的视图函数,也可以是一个django.urls.include()
。kwargs
参数允许我们将其他参数传递给视图函数。name
不是必须的,但是命名URL的好处是便于在Django中的其他地方(尤其是在模板内部)明确地引用它。关键词:过程,实录