什么是解除硬编码?为什么要解除硬编码?
在Django中,解除硬编码通常指的是将应用程序中的一些固定的数值、字符串或路径等硬编码的信息提取到配置文件或其他可配置的地方,以提高代码的可维护性和灵活性。这样的做法使得应用程序更容易适应不同的环境,减少对代码的修改需求。
在Django中硬编码可能存在的地方:模板文件、视图函数、URL配置
解除硬编码的好处?
1.可维护性: 将配置信息集中管理,使得修改配置更加方便,不需要在代码的多个地方进行修改。
2.灵活性: 应用程序可以更容易地适应不同的环境,例如开发环境、测试环境和生产环境。
3.可移植性: 通过解除硬编码,可以更轻松地将应用程序迁移到不同的服务器或环境。
解除静态资源的硬编码 需要在settings中有
STATIC_URL = 'static/'
STATICFILES_DIRS = [BASE_DIR / 'static'
以及在静态模板文件中有
{% load static %}
模板文件:
格式:{% static ' 路由 ' %}
<link rel="stylesheet" href="{% static '/js/bootstrap-3.4.1-dist/css/bootstrap.css' %}">
<form action="{% url 'user:login' %}" method="post">
<a class="btn btn-default" href="{% url 'user:register' %}" role="button">注册</a>
视图函数:
return redirect(to=reverse('news:index'))
return redirect(reverse('news:index'))
Url配置:
# mysite/urls 命名空间
path('', include('news.urls', 'news'))
# 需要在news/urls app_name 以及name=''
app_name = 'user'
urlpatterns = [
path('login/',login, name='login'),
path('register/', register, name='register'),
path('logout/', logout, name='logout'),
]