新建Django工程步骤


get获取数据,post发送数据。

Django生命周期:
->url对应关系(匹配)->视图函数->返回用户字符串
->url对应关系(匹配)->视图函数->打开一个html文件,读取内容

redirect(‘只能填url’)
HttpResponse(‘字符串’)
render(request, “html模版的路径”)

1、request.POST['username']
2、request.POST.get('username', None)
选2
1存在一个问题,如果username不存在,会报错

1、安装

pip3 install django

2、创建工程

django-admin startproject project_name

3、启动

启动前需要先进入刚刚创建的项目中,最后一个参数不填就是默认127.0.0.1:8000,可以修改端口

python3 manage.py runserver 127.0.0.1:8000

启动完成之后,打开网址,输入127.0.0.1:8000,看到如下就说明成功
在这里插入图片描述

4、增加内容

Django程序已经建成功了,下面来做一些修改,在目录下新建一个文件夹,新建的文件夹下再新建一个文件s1.py

from django.shortcuts import HttpResponse

def index(request):
	return HttpResponse("OK")

修改urls.py文件

from django.contrib import admin
from django.urls import path

from laoniu import s1

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', s1.index)
]

重新启动,再来运行
在这里插入图片描述

5、django目录

project_name
	project_name # 对整个程序进行配置
		init.py
		settings.py # 配置文件
		url.py # url对应关系
		wsgi.py # 一套规则,一套接口,本质上帮助创建socket,遵循wsgi规范,产品上线不用默认的,用uwsgi+ngnix
	manage.py # 管理Django程序,有一下命令:1、python3 manage.py 2、python3 manage.py startapp ** 3、python3 manage.py makemigrations 4、python3 manage.py migrate

6、创建app

python3 manage.py startapp cmdb # csdb是app的名字

创建后的相应路径如下所示

cmdb
	migrations: 数据操作记录(修改表结构)
	__init__: python2中必须存在,不然导入文件时会出错,python3无所谓
	admin: django提供的后台管理
	apps: 配置当前app
	models: ORM,写指定的类,通过命令创建数据库结构
	tests: 单元测试
	views: 业务代码

在setting.py中添加该app的信息
在这里插入图片描述
这样就创建了一个app文件夹,接下来把我们的业务逻辑的代码放在cmdb的文件中,如下

from django.shortcuts import render

# Create your views here.

from django.shortcuts import HttpResponse

def home(request):
	return HttpResponse('<h1>Hello_View</h1>')

修改urls.py文件如下,

from django.contrib import admin
from django.urls import path

from laoniu import s1

from cmdb import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', s1.index),
    path('h.html/', views.home)
]

运行,可以得到如下结果
在这里插入图片描述

7、创建静态文件和模版文件

在Django目录下创建两个文件夹static和templates用来存放静态文件和模版文件
在这里插入图片描述

8、在settings.py中添加配置信息

静态文件配置需要添加如下代码

STATICFILES_DIR = (
    os.path.join(BASE_DIR, "static"),
)

注:只有这样,静态文件在我们的项目中才会起作用。

模版路径需要在TEMPLATES中添加如下代码
在这里插入图片描述

注:这样我们就不需要自己写逻辑去去读html文件中的内容,Django的render会帮助我们处理该过程。

还有一步,在这里,先注释settigns.py的csrf(跨栈请求伪造),防止报错
在这里插入图片描述

9、模版语言

views.py
	return render(request, "index.html", {
				'currrent_user': 'seth',
				'user_list': ['seth', 'bob'],
				'user_dict': {'k1':'v1','k2':'v2'}
				})

html
	<a>{{current_user}}</a>
	<a>{{user_list.0}}</a>
	<a>{{user_dict.k1}}</a>

	{% for item in user_list %}
	
	{% endfor %}

	{% if age %}
		<a>have age</a>
		{% if age > 16 %}
			<a>old boy</a>
		{% endif %}
	{% else %}
		<a>no age</a>
	{% endif %}

10、路由系统

在这里插入图片描述

项目地址:
https://github.com/Stark-Xue/didi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章