python[django]02-hello django

本文详细介绍了如何使用Django框架搭建一个基本的Web项目,包括修改setting.py文件配置应用、urls.py设置路由以及views.py定义视图函数。通过运行项目并在浏览器中查看,读者可以快速上手并理解Django的基本工作流程。

1.修改setting.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'sign',
]

2.修改urls.py

from django.conf.urls import url
from django.contrib import admin
from sign import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/$', views.index),
]

3.修改views.py

from django.http import HttpResponse

# Create your views here.
def index(request):
    return  HttpResponse("Hello django!")

4.运行项目,打开浏览器

### 集成 Python Django 和 Vue 的方法 在现代 Web 应用开发中,前后端分离是一种常见的架构模式。Django 是一个强大的后端框架,而 Vue 则是一个流行的前端框架。以下是关于如何在 Python Django 中集成和使用 Vue 的详细介绍。 #### 1. 使用 RESTful API 连接 Django 和 Vue 为了使 Django 和 Vue 能够协同工作,通常会通过 RESTful API 来连接两者。这可以通过安装 `djangorestframework` 实现[^2]。RESTful API 提供了一种标准的方式来传递数据,使得前端可以轻松调用后端接口获取所需的数据。 ```bash pip install djangorestframework ``` 接着,在项目的 `settings.py` 文件中修改 `INSTALLED_APPS` 添加 `'rest_framework'`: ```python INSTALLED_APPS = [ ... 'rest_framework', ] ``` 创建视图类来处理请求: ```python from rest_framework.views import APIView from rest_framework.response import Response class ExampleAPIView(APIView): def get(self, request): data = {"message": "Hello from Django!"} return Response(data) ``` 配置 URL 路由以便访问该 API: ```python from django.urls import path from .views import ExampleAPIView urlpatterns = [ path('api/example/', ExampleAPIView.as_view(), name='example-api'), ] ``` 此时,Vue 可以通过 HTTP 请求(如 Axios 或 Fetch)与这个 API 对话。 --- #### 2. 设置静态文件服务 为了让 Vue 构建后的静态文件能够被 Django 正确加载,需调整 Django 的设置。首先确保项目中的 `STATIC_URL` 已正确定义,并将构建好的 Vue 文件放入指定目录下[^1]。 ```python # settings.py STATIC_URL = '/static/' STATICFILES_DIRS = [BASE_DIR / "frontend/dist"] # Vue 打包后的路径 ``` 运行以下命令完成 Vue 的打包过程: ```bash npm run build ``` 之后启动 Django 开发服务器即可查看效果。 --- #### 3. 单页应用 (SPA) 支持 如果计划部署单页应用程序,则需要让 Django 处理所有未定义路由并将它们重定向到 Vue SPA 的入口页面。为此可以在根级 urls.py 中添加如下代码片段[^4]: ```python from django.conf.urls import url from django.views.generic.base import TemplateView urlpatterns += [ url(r'^.*$', TemplateView.as_view(template_name="index.html")), ] ``` 此操作允许任意未知地址均返回 index.html 页面,从而交由前端路由器接管导航逻辑。 --- #### 4. 数据库交互 当涉及到数据库时,可借助 Django ORM 完成模型定义并与 MySQL 结合存储业务数据。与此同时,Vue 组件可通过上述提到的 API 接口读写这些记录内容[^3]。 例如建立简单的 BlogPost 模型用于展示文章列表: ```python from django.db import models class BlogPost(models.Model): title = models.CharField(max_length=200) content = models.TextField() def __str__(self): return self.title ``` 随后编写序列化器转换对象结构便于传输给客户端: ```python from rest_framework import serializers from .models import BlogPost class BlogPostSerializer(serializers.ModelSerializer): class Meta: model = BlogPost fields = '__all__' ``` 最后更新视图函数提供完整的 CRUD 功能支持。 --- #### 总结 综上所述,Python Django 和 Vue 的集成主要依赖于 RESTful API 设计理念,辅之恰当的静态资源配置策略以及良好的前后端分工协作机制共同达成目标。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值