Django创建项目

1, 注释 settings.py    #'django.middleware.csrf.CsrfViewMiddleware',





# 创建app
python manage.py startapp cmdb


内容整理
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创建项目是构建 Web 应用的第一步。Django 提供了 `django-admin` 命令行工具来快速生成项目结构。 --- ## ✅ 创建 Django 项目的完整流程 ### 🔧 步骤一:安装 Django 确保你已经安装了 Python 和 pip,然后安装 Django: ```bash pip install django ``` 你可以通过以下命令验证是否安装成功: ```bash django-admin --version ``` --- ### 📁 步骤二:使用 django-admin 创建项目 执行以下命令来创建一个新的 Django 项目(假设项目名为 `myproject`): ```bash django-admin startproject myproject ``` 这将创建一个名为 `myproject` 的文件夹,其目录结构如下: ``` myproject/ ├── manage.py └── myproject/ ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py ``` --- ### ▶️ 步骤三:运行开发服务器 进入项目根目录并运行开发服务器: ```bash cd myproject python manage.py runserver ``` 默认情况下,开发服务器会在 `http://127.0.0.1:8000/` 上运行,打开浏览器访问该地址,你应该能看到 Django 的欢迎页面。 --- ### 🛠️ manage.py 是什么? - `manage.py` 是一个命令行工具,用于与 Django 项目交互。 - 它可以执行数据库迁移、启动服务器、创建应用等操作。 - 示例命令: ```bash python manage.py startapp myapp # 创建应用 python manage.py migrate # 数据库迁移 python manage.py createsuperuser # 创建管理员用户 ``` --- ### 📦 步骤四:创建应用(App) Django 鼓励将功能模块拆分为多个应用(App),每个项目可以包含多个应用。 例如创建一个名为 `myapp` 的应用: ```bash python manage.py startapp myapp ``` 然后你需要在 `settings.py` 中的 `INSTALLED_APPS` 列表中添加你的应用: ```python INSTALLED_APPS = [ ... 'myapp', ] ``` --- ### 📄 项目结构说明 | 文件名 | 功能说明 | |----------------|----------| | `manage.py` | 命令行管理脚本 | | `__init__.py` | 标识该目录为 Python 包 | | `settings.py` | 项目的配置中心(数据库、模板路径等) | | `urls.py` | URL 路由配置 | | `wsgi.py` | WSGI 入口,部署时使用 | --- ### ✅ 示例:创建一个简单的视图和路由 #### 1. 在 `myapp/views.py` 中写入: ```python from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") ``` #### 2. 在 `myapp/urls.py`(需手动创建)中写入: ```python from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] ``` #### 3. 在主项目的 `urls.py` 中 include 子路由: ```python from django.urls import include, path urlpatterns = [ path('myapp/', include('myapp.urls')), ] ``` 重启服务器后访问: ``` http://127.0.0.1:8000/myapp/ ``` 你将看到输出: ``` Hello, Django! ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值