Python之Web框架Django项目搭建全过程

yizhihongxing

下面是Python之Web框架Django项目搭建全过程的完整攻略。

1. 确定项目名称和目录结构

首先要确定项目的名称,比如"blog",然后在命令行终端中执行以下命令:

mkdir blog
cd blog

进入到项目目录中。

2. 创建虚拟环境

为了避免与其他项目的依赖冲突,建议使用虚拟环境。可以使用以下命令创建一个虚拟环境:

python3 -m venv venv

然后使用以下命令激活虚拟环境:

source venv/bin/activate

3. 安装Django

在虚拟环境激活后,可以使用以下命令安装Django:

pip install django

4. 创建Django项目

使用以下命令创建Django项目:

django-admin startproject blogproj
cd blogproj

这里我们把项目命名为"blogproj"。

5. 创建Django应用

使用以下命令创建Django应用:

python manage.py startapp blog

这里我们把应用命名为"blog"。

6. 编写视图函数和路由配置

blog/views.py文件中编写视图函数:

from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello, world!')

然后在blogproj/urls.py文件中编写路由配置:

from django.contrib import admin
from django.urls import path
from blog.views import index

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

7. 启动Django开发服务器

使用以下命令启动Django开发服务器:

python manage.py runserver

然后在浏览器中访问http://127.0.0.1:8000,就可以看到"Hello, world!"了。

示例1:创建模型类

blog/models.py文件中定义模型类:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    create_time = models.DateTimeField(auto_now_add=True)

然后使用以下命令同步数据库:

python manage.py makemigrations
python manage.py migrate

示例2:创建表单

blog/forms.py文件中定义表单类:

from django import forms

class ArticleForm(forms.Form):
    title = forms.CharField(max_length=200)
    content = forms.CharField(widget=forms.Textarea)

然后在blog/views.py文件中编写表单处理函数:

from django.shortcuts import render
from blog.forms import ArticleForm

def add_article(request):
    if request.method == 'POST':
        form = ArticleForm(request.POST)
        if form.is_valid():
            title = form.cleaned_data['title']
            content = form.cleaned_data['content']
            Article.objects.create(title=title, content=content)
            return HttpResponse('Article created.')
    else:
        form = ArticleForm()
    return render(request, 'add_article.html', {'form': form})

最后在blog/templates/add_article.html中编写模板代码:

<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Submit">
</form>

以上就是Python之Web框架Django项目搭建全过程的完整攻略和两条示例的说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python之Web框架Django项目搭建全过程 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django安装与配置(Windows、Linux、MacOS)

    Django是一种基于Python语言的Web应用程序框架,用于开发高效、快速和安全的Web应用程序。本文将详细介绍Django的安装和配置方法,包括Windows、Linux和macOS系统。 Windows系统 安装Python 要使用Django,首先需要安装Python。建议使用Python 3.5及以上版本。可以在Python的官网(https:/…

    Django 2023年3月12日
    00
  • django自带User管理中添加自己的字段方法

    #coding=utf-8 from django.db import models from django.contrib.auth.models import User, make_password, check_password, Group, GroupManager from django.contrib.auth.admin import Use…

    Django 2023年4月10日
    00
  • python web框架【补充】cookie和session(Django)

    一、cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要“保持状态”,因此cookie就是在这样一个场景下诞生。 cookie的工作原理是:由服务器产生内容,浏览器收到请求后保存在本地;当浏览器再次访问时,浏览器会自动带上cookie,这样服务器就能通过cookie的内容来判断这个是“…

    Django 2023年4月12日
    00
  • django框架学习:二十一.admin列表优化和排序

    今天学习一下列表优化和排序 ModelAdmin django的options.py里面 ModelAdmin类定义的参数可以设置admin后台列表页面,相关的参数如下      排序字段 后台列表页面,如果想按某个字段排序,可以加个ordering参数      刷新页面后,就是降序了 列表分页 列表页默认是设置的100个记录,我们也可以修改下设置成默认每…

    2023年4月10日
    00
  • docker 部署django方式

    1 docker 部署django应用 1.1 基于python基础镜像 # 第一种方式:基于python基础镜像来做 cd /home mkdir myproject cd myproject docker run -di –name=myproject -p 8080:8080 -v /home/myproject:/home python:3.6 #…

    Django 2023年4月12日
    00
  • django修改静态文件(css,js)之后,浏览器效果没改变

    今天踩了一个大坑,静态文件(css,js)之后,浏览器效果没改变 按F12查需要改变的元素引用的css标签发现并没有改变。说明浏览器对于css,js文件有缓存。需要手动清除一下!!!           在设置里面清理缓存即可  

    Django 2023年4月11日
    00
  • 【服务后端】Django 返回的QuerySet序列化

    QuerySet序列化一般可以先写一个公共的常用的解析函数,参考前面的博文《【服务后端】Python序列化对象为Json方法》 http://www.cnblogs.com/inns/p/5507012.html 所有字段按照其类型来解析,外键返回id即可 后面介绍一些特殊序列化需求及实现   User和Class表,以及ClassUserTemp表, 1.…

    Django 2023年4月13日
    00
  • Django一些常用参数的设置

    在form表单里面   autocomplete=”off”  浏览器输入框关闭自动提示 在ajax里面要发送文件数据需要实例化一个FormData()对象, 还需要设置 processData:false,     //告诉jQuery不要处理我的数据 contentType:false,      //告诉jQuery不要设置content类型 实现示例…

    Django 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部