django学习基础

离线安装django

django 3依赖以下几个第三方组件 sqlparsepytz,asgiref

在离线安装django建议先进行安装对应三个组件,执行完成完再进行django安装

django 创建项目

cd 到一个你想放置你代码的目录执行

django-admin startproject 项目名称

Django会生成一个符合Django项目标准的web项目结构的文件包,标准的Django项目主要包含两个部分:管理项目的命令行工具

manage.py ;项目实际所在的包,以项目名称命名的python包

项目实际所在的包中预生成了如下几个.py 文件:

__init__.py :一个空文件,作用是在项目运行时告知python解释器这是一个python包

asgi.py :作为项目web服务器上的一个入口,web服务器为asgi兼容

wsgi.py :项目在web服务器上的另一个入口,此时web服务器兼容WSGI

``setting.py:项目的配置信息存放位置,如数据库连接信息,web服务端口信息等项目基础配置应该添加在其中`

urls.py :用于存放此项目的所有URL声明,自定义的web服务接口路径必须添加在其中

启动Django项目

​ Django自带了一个轻量级的web服务器,其仅适用于测试环境使用,生产环境推荐使用Apache。

​ 自带服务器的使用如下:

​ cd到项目的manage.py所在目录,命令行执行:

python manage.py runserver

​ 当看到窗口出现下面的输出时则表示服务器已经成功启动

Django version 3.1, using settings '项目名称.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

作为测试可以打开浏览器窗口并访问http://127.0.0.1:8000,正常可以看到启动页面

8000是django服务器的默认端口号,如果需要更改可以执行在启动命令时调整:

python manage.py runserver 指定端口号

python manage.py runserve 8080,注意,如果只是修改代码,Django服务器支持热部署,但是如果添加了新的文件则需要重新部署服务器

创建应用

​ 首先需要理解项目与应用的关系,通常来说,应用指的是一个专门做某一件事的应用程序,如登录应用,其对应的是网站的一个功能。而项目则是应用的集合,对应着一个网站。网站相关的配置也由项目进行管理。

​ 创建项目的命令是python manage.py startapp 应用名称,因此同样需要cd到manage.py所在的目录或更下级目录执行生成以应用名称命名的应用目录,查看其结构,Django预生成了以下文件和目录:

__init__.py :说明应用也是一个python包

admin.py :

apps.py:用于存放应用程序的元数据,如应用名称

models.py :

tests.py:

views.py:应用的web视图的集合,其用于完成前端请求路径的资源映射

migrations python包

创建视图

对应web应用来说,处理浏览器的请求是它的必不可少的功能。Django框架中,处理前端请求的功能被交给各个应用的views.pyurls.py协作处理。
view处理页面请求,需要Django的http模块和render模块进行支持。实例如下

#login/views.py
from django.http import HttpResponse
#HttpResponse 用于构建http响应
def index(request):
    return HttpResponse('welcome to 


----------


 blog,this is index')

在login应用下新建urls.py用于管理login应用下的所有请求路径

#login/urls.py
from django.urls import  path
from . import views
urlpatterns = [
   path('',views.index,name='index')
]

在项目的urls.py中注册 login应用下的urls

#项目名称/urls.py
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls), #引入基本配置路径 
    path('login/', include('login.urls'))  #   include() 用于引入其它的URLconfs
]

启动服务器 访问http://127.0.0.1:8080/login即可看到之前所设置的响应数据welcome to xxx blog,this is index,8080为自定义的端口号。

对实例上调用的几个函数做一下说明:

path() :path具有是个参数,分别是route,view,kwargs,name,route用于定义可匹配的URL路径,其支持一种类似于正则表达式的匹配方式,这个参数匹配请求路径中以/做分隔部分而不包括GETPOST的参数。view指定的则是实际的处理函数名称,在调用时会将httpRequest作为首个参数传入处理函数,类似实例中的views.index函数。name 用于为当前url取别名,使得在Django中作为一个唯一标识调用。kwargs则和普通函数中的**kwargs作用一致。

include

连接数据库

Django数据库相关的配置放置在项目的setting.py中的DATABASES 配置项中。其默认配置在生成项目时已经自动生成。

#path 项目名称/settings.py
DATABASES = {
   
    'default': 

你可能感兴趣的:(python,django,django)