Y10
本文介绍在pycharm下创建django工程流程。
1、导入django模块 pip install Django,创建项目,在Terminal中构建django:
①构建django工程:django-admin startproject django_1 (django_1为工程名,可自取)
② 进入工程目录中:cd django_1
③ 构建app功能应用:python manage.py startapp app1 (app1是项目名,可自取)
2、进入django_1/django_1/settings.py中,注册app1功能应用,并完成对静态文件(静态文件即为图片,js文件,css文件等)的配置,如下
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app1',
]
STATIC_URL = '/static/'
"""
设置静态文件的根目录, 当进行Django项目部署时, 可以将所有app下面的静态文件
全部复制到该目录下.
"""
STATIC_ROOT = os.path.join(BASE_DIR,'static')
"""
设置工程共享的静态文件路径, 即在该路径下所有的文件可以被工程中任意一个app共
享, app在加载文件的过程中会有限加载该静态文件夹下的文件, 如果没有此时才会加
载属于自身app下的static文件夹中的文件.
"""
STATICFILES_DIRS = (os.path.join(BASE_DIR, 'common_static'),)
注意:共享静态文件夹,要创建和app功能应用文件夹同级目录;私有静态文件夹,要建在对应app功能文件夹目录下。
3、在django_1/django_1/urls.py中,配置app1的路由,如下:
注意:若导入re_path, 就可以用正则表达式
from django.contrib import admin
from django.urls import path,include
"""
#user,password: 分别用来接受浏览器通过地址方式传输的数据, 即数据作为网址的
组成部分被传输过来, 注意: 不管网址中传输的数据是否是字符串, 服务器接受到的永远
只有字符串数据.
其中一些数据(限于不会对服务器有影响的数据,且Django版本在2.0以上),可以用以下
方式传入数据: <type:参数>
"""
urlpatterns = [
path('welcome/<str:user>/<str:password>/' , views.welcome, name='wc'),
path('admin/', admin.site.urls),
path('app1/',include('app1.urls')),
]
4、将django_1/django_1下的urls.py复制到对应app文件夹下,可以删去app1/urls.py中的无关app1/views.py功能的代码。
注意:3~4步骤是为了,若有多个app功能文件夹,这样将不同app应用功能下需要配置的功能路由规整的分割开,以方便以后维护代码。
5、在app1功能应用文件夹下,创建templates文件夹(名字不可变),用来存放前端页面,注意把私有的静态文件和共享的静态文件放到设置过的对应文件夹中
6、在app1/views.py中完成对对应网页的渲染和定义的功能路由(渲染后才可在网址中展示页面,若是POST请求,需要加入csrf验证),如下:
from django.shortcuts import render
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
# 定义函数完成指定页面的渲染
def show_login(request):
return render(request, 'app1/login.html')
7、在app1/urls.py中配置路由,如下:
from django.contrib import admin
from django.urls import path
from app1 import views
urlpatterns = [
path('login/', views.show_login, name='login'),
]
8、在pycharm中的Terminal里输入 python manage.py runserver 启动服务,测试网页。
9、在网址中输入:http://127.0.0.1:8000/函数定义功能的名称
views.py中相关解释:
"""
views.py主要完成服务器功能的开发, 该文件通过不用的函数设置服务器不同的子功
能
HttpResponse: 服务器基于HTTP协议的网络回应对象, 该对象可以完成服务器向浏
览器传输数据
request: 所有扩展服务器功能的函数都必须携带的参数, 该参数用来存储浏览器向服
务器发送的数据请求对象;浏览器向服务器发送的网络请求对象, 其中存储本次请求的各
种信息, 比如前端向服务器发送的数据参数, 请求方式,网址等信息
服务器接受浏览器通过GET或POST发送的数据
"""
若需要查看具体代码,在此分享本人创建过的供学习的django工程(以上为工程django_1):
链接:https://pan.baidu.com/s/1v74l_n_1F5WoRxOb7YlRjg
提取码:ev9p
个人小结,定有不足之处,欢迎指点。
谢谢~