一、Django项目创建的基本流程
一、创建Django项目
Ⅰ、 在虚拟环境中创建Django项目
①
创建虚拟环境(win)
1、创建Django项目名称 tutorial
2、进入创建好的Django项目`cd tutorial`
3、创建虚拟环境 `python -m venv env`
4、激活虚拟环境`.\env\Scripts\activate`
创建虚拟环境(macos/Linux)
$ mkdir myproject
$ cd myproject
$ python3 -m venv venv
$ . venv/bin/activate
②在激活的虚拟环境中执行
django-admin startproject <projectname>
Ⅱ、直接创建Django项目
python django-admin startproject <projectname>
二、创建Django的应用基本流程
-
执行
python manage.py startapp <appname>
命令,其中<appname>
是想创建的应用名称。 -
把应用名称添加到项目配置目录中的 settings.py 文件里,放到 INSTALLED_APPS 列表的末尾,告诉 Django项目这个应用的存在。
3.在项目的 urls.py 文件中添加一个映射,指向新建的应用。目的是为了提升模块化程度,我们可以换种方式把入站 URL 映射到视图上,而不直接在项目层设置。首先,要修改项目的 urls.py 文件,把针对 Rango 应用的请求交给 Rango 应用处理。然后,在 Rango应用中指定如何处理请求。如下:
项目下的urls.py:
from django.conf.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('rango/',include('rango.urls')),
]
4.此时项目下的urls.py中分配好应用的路由后,需要在应用的目录中新建 urls.py文件,把入站 URL 与视图对应起来。如下:
from django.urls import path
from simpleuitest import views
urlpatterns = [
path('',views.index,name='index'),
]
5.在应用的 view.py 文件中编写所需的视图,确保视图返回一个 HttpResponse对象。
三、模板的创建和在视图中使用模板
在项目的个根目录下创建一个templates文件夹
1.首先,创建要使用的模板,保存到 templates 目录中(在项目的 settings.py 模块中设定)。模板中可以使用 Django 模板变量(例如 {{ variable_name }})或模板标签。模板变量的值在相应的视图中设定。
'DIRS': [os.path.join(BASE_DIR,'templates')],
2.在应用的 views.py 文件中找到所需的视图,或者新建一个。
3.把视图相关的逻辑写在视图函数中。例如,从数据库中检索数据,存到列表中。
4.在视图中构建一个字典,通过模板上下文传给模板引擎。
5.使用 render() 辅助函数生成响应。这个函数的参数是请求对象、模板文件名和上下文字典。
6.如果还没把视图映射到 URL 上,修改项目的 urls.py 文件和应用的 urls.py 文件。
四、网页中引入静态文件
在项目的根目录下创建一个static文件夹,在其下可创建images、css等文件。
具体步骤:
1.把想用的静态文件放到项目的 static 目录中。这个目录在项目的 settings.py 模块中的STATICFILES_DIRS 列表中设定。如下:
STATIC_DIR = os.path.join(BASE_DIR, 'static')
STATICFILES_DIRS = [STATIC_DIR, ]
2 在模板中引用静态文件。例如,图像通过 标签插入 HTML 页面。
注:在模板中使用静态文件需要在模板上使用{% load staticfiles %}
<!DOCTYPE html>
{% load staticfiles %}
<html lang="en">
3.记得在模板中加上 {% load staticfiles %}
,然后使用 {% static "< filename>" %}
标签引用静态文件。把 < filename>
替换成图像或其他资源的路径。只要想引用静态文件,使用static 模板标签。
<img src="{% static "images/1.png" %}"alt="Picture of Rango">
五、网页中引入媒体文件
在项目的根目录下创建一个media文件夹,在其下可存放文件。在setting文件下需要如下设置:
具体步骤
1.把媒体文件放到项目的 media 目录中。这个目录由项目的 settings.py 模块中的 MEDIA_ROOT变量设定。
MEDIA_DIR = os.path.join(BASE_DIR, 'media')
MEDIA_ROOT = MEDIA_DIR
MEDIA_URL = '/media/'
2.在模板中使用 {{ MEDIA_URL }}
上下文变量引用媒体文件。例如,引用上传的图像cat.jpg:<img src="{{MEDIA_URL}}cat.jpg" />
。
**
以上为本人在初次创建Django项目所遇到的问题及注意事项,将其记录下来,整理笔记方便以后查看,若有错误,请谅解并欢迎指出错误。
**