初识Django

本文介绍如何使用Django框架搭建Web应用程序,包括环境搭建、基本组件理解及简单的页面展示流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

WEB框架
MVC
Model       View       Controller
数据库   模板文件    业务处理

MTV
Model    Template     View                   (Django)

数据库   模板文件    业务处理

安装Django :pip3 install django

# 创建Django工程

django-admin startproject  mysite 【工程名称】

mysite
- mysite        # 对整个程序进行配置
- init
- settings  # 配置文件
- url       # URL对应关系
- wsgi      # 遵循WSIG规范,uwsgi + nginx
- manage.py     # 管理Django程序:
- python manage.py 
- python manage.py startapp cmdb      【创建App】
                                                        - python manage.py startapp openstack 【创建App】
- python manage.py makemigrations

- python manage.py migrate

app:
migrations     数据修改表结构
admin          Django为我们提供的后台管理
apps           配置当前app
models         ORM,写指定的类  通过命令可以创建数据库结构
tests          单元测试

views          业务代码




1. 创建Django工程
django-admin startproject 工程名


2. 创建APP
cd 工程名
python manage.py startapp cmdb


3、静态文件
project.settings.py

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

4、模板路径

DIRS ==>    [os.path.join(BASE_DIR,'templates'),]

5、settings中

middlerware

# 注释 csrf


6、定义路由规则
url.py

"login" --> 函数名

7、定义视图函数
app下views.py

def func(request):
# request.method   GET / POST

# http://127.0.0.1:8009/home?nid=123&name=alex
# request.GET.get('',None)   # 获取请求发来的而数据

# request.POST.get('',None)


# return HttpResponse("字符串")
# return render(request, "HTML模板的路径")
# return redirect('/只能填URL')

8、模板渲染
特殊的模板语言

-- {{ 变量名 }}

def func(request):
return render(request, "index.html", {'current_user': "alex"})


index.html

<html>
..
<body>
<div>{{current_user}}</div>
</body>

</html>

====> 最后生成的字符串

<html>
..
<body>
<div>alex</div>
</body>

</html>
-- For循环
def func(request):
return render(request, "index.html", {'current_user': "alex", 'user_list': ['alex','eric']})


index.html

<html>
..
<body>
<div>{{current_user}}</div>

<ul>
{% for row in user_list %}

{% if row == "alex" %}
<li>{{ row }}</li>
{% endif %}

{% endfor %}
</ul>

</body>

</html>

#####索引################# 
def func(request):
return render(request, "index.html", {
'current_user': "alex", 
'user_list': ['alex','eric'], 
'user_dict': {'k1': 'v1', 'k2': 'v2'}})


index.html

<html>
..
<body>
<div>{{current_user}}</div>

<a> {{ user_list.1 }} </a>
<a> {{ user_dict.k1 }} </a>
<a> {{ user_dict.k2 }} </a>

</body>

</html>

###### 条件

def func(request):
return render(request, "index.html", {
'current_user': "alex", 
"age": 18,
'user_list': ['alex','eric'], 
'user_dict': {'k1': 'v1', 'k2': 'v2'}})


index.html

<html>
..
<body>
<div>{{current_user}}</div>

<a> {{ user_list.1 }} </a>
<a> {{ user_dict.k1 }} </a>
<a> {{ user_dict.k2 }} </a>

{% if age %}
<a>有年龄</a>
{% if age > 16 %}
<a>老男人</a>
{% else %}
<a>小鲜肉</a>
{% endif %}
{% else %}
<a>无年龄</a>
{% endif %}
</body>

</html>




### Django新手入门与头歌作业示例 对于希望学习Django的新手来说,可以从一些简单的项目入手来熟悉框架的核心概念和基本操作。以下是于如何通过完成特定的“头歌作业”或其他类似的练习来掌握Django的一些指导。 #### 1. 安装与环境配置 在开始任何Django项目之前,确保已安装Python并设置好虚拟环境。可以按照以下命令创建一个新的Django项目: ```bash pip install django django-admin startproject mysite cd mysite python manage.py runserver ``` 这会启动一个本地服务器,默认地址为`http://127.0.0.1:8000/`[^1]。 #### 2. 创建应用 Django中的每个功能通常被封装在一个独立的应用程序中。可以通过如下命令创建新应用程序: ```bash python manage.py startapp songs ``` 此命令会在当前目录下生成`songs`文件夹及其结构,其中包括模型、视图和其他组件定义的位置[^3]。 #### 3. 数据库设计 (Models) 假设我们要构建一个音乐播放列表管理工具作为“头歌作业”。可以在`songs/models.py`里定义歌曲的数据表单: ```python from django.db import models class Song(models.Model): title = models.CharField(max_length=200) artist = models.CharField(max_length=100) album = models.CharField(max_length=200, blank=True) def __str__(self): return f"{self.title} by {self.artist}" ``` 上述代码片段展示了如何利用Django ORM系统快速建立数据库模式[^2]。 #### 4. 配置URL路由 为了让用户能够访问到我们的资源,在项目的根urls.py添加路径映射至songs app内部的具体逻辑实现处。 ```python from django.urls import path, include urlpatterns = [ ... path('songs/', include('songs.urls')), ] ``` 同时记得也要在`songs/app`下面新建对应的urlconf文件用于进一步细化请求分发规则。 #### 5. 编写视图(Views) 和模板(Templates) 继续完善views.py以响应HTTP GET / POST 请求,并渲染HTML页面展示给前端使用者查看或者提交表单项修改后台存储的信息内容等等。 --- ### 提供更多实践机会推荐几个不错的在线平台链接帮助大家更好地理解实际应用场景下的编码技巧: - [官方文档](https://docs.djangoproject.com/) - [Real Python Tutorials](https://realpython.com/tutorials/django/) - [MDN Web Docs - Learn Django](https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值