django的常用命令以及创建一个完整的django项目

本文将指导你如何切换虚拟环境,使用Django创建项目和应用,管理数据迁移,创建超级管理员,并详细讲解settings.py配置,以及涉及到的如urls.py、models.py和views.py等关键文件的使用。

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

1.切换虚拟环境

在pycharm中的Terminal中打开, 如果不在django 环境中, 需要cd到django环境中, 然后输入  activate激活环境

2.创建一个django项目

(这种方式创建的项目,需要在项目里创建一个templates的文件夹,用来存放html文件, 并在settings.py里设置路径)

python manage.py startproject 项目名称

在settings.py里设置

 

创建app

python manage.py startapp app名字

运行项目

python manage.py runserver  # 只能自己的主机访问  生成的网址是 127.0.0.1:8000
python manage.py runserver 0.0.0.0:8000  # 局域网的其他电脑也可以访问 生成的网址是 自己主机ip:8000

3.在写好数据模型后(models.py),生成数据迁移文件

python manage.py makemigrations
python manage.py migrate

4.在terminal里添加数据

先确定自己在django环境中

python manage.py shell  
依次执行以下命令, Post是写好的数据模型
from django.contrib.auth.models import User
from blog.models impost Post

user = User.objects.get(username="admin")

添加数据,  初始化一个对象,并且进行赋值, 
post=Post(title="first post",slug="first-post",body="post body",author=user)
post.save()

查询数据
post1 = Post.objects.get(slug='first-post')
post1

all_posts = Post.objects.all()
all_posts

a = all_posts.get(id=1)
a


5. 创建超级管理员

python manage.py createsuperuser
依次输入用户名,邮箱(选填),密码

6.settings.py里的配置

在django中还有一个命令框, 只需要输入命令,不需要输 python manage.py

------------------------------关于常用的一些模块/包----------------------------------------

urls.py里

from django.contrib import admin
from django.urls import path, include
from django.conf.urls import url
 url(r'^index$', index, name='index'),

models.py里

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User  # 使用django自带的用户模型
from django.urls import reverse
# reverse 方法通过名称和其他参数来构建url
  例如  return reverse("blog:post_detail", args=[self.publish.year, self.publish.month, self.publish.day, self.slug])

views.py里

from django.shortcuts import render, HttpResponse, get_object_or_404  # get_object_or_404 如果匹配到,返回数据, 匹配不到返回404
from django.views.generic import ListView, DeleteView  # 模型
from django.db.models import Q
from django.core.mail import send_mail

 

-------------------------------关于settings.py的一些配置-------------------------------

--------------------------添加其他的文件(从后台/数据库添加图片)----------------

settings.py里的配置

在最后添加
# 需要配置媒体路径, 如果不配置的话, 则只能在后台上传, 在页面中下载(加载)的话是失败的.
# 配置媒体文件的路由
MEDIA_URL = '/media/'
# 配置媒体文件目录
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
# 需要在项目里新建一个media文件夹,用来存放文件

admin.py里

from django.contrib import admin
from django.urls import path
from django.conf.urls import include, url
# serve专门用来处理返回文件的函数
from django.views.static import serve
from 项目名字 import settings

urlpatterns = [
    path('admin/', admin.site.urls),
    url(r'^', include('MyOffice.urls')),
    # path("myoffice", include('MyOffice.urls'))
    # path 用来匹配资源路径, 第二个path,参数
    # document_root 配置媒体文件资源路径
    path('media/<path:path>', serve, {'document_root': settings.MEDIA_ROOT}),
]

------------------------------------登录/登出常用的模块----------------------------------

 views.py里的

from django.contrib.auth.decorators import login_required
from django.contrib.auth import authenticate, login  # authenticate这个方法接收request对象,username,password三个参数,到数据库中去匹配,如果匹配成功,返回一个User数据对象, 否则返回None


from django.contrib.auth.views import LoginView, LogoutView, PasswordChangeView, PasswordChangeDoneView, PasswordResetView
# LoginView 处理登录表单填写和登录功能
# LogoutView 退出登录
# PasswordChangeView 处理修改密码的表单, 然后修改密码
# PasswordChangeDoneView 成功修改密码之后的执行的视图
# PasswordResetView 用户选择重置密码功能的视图, 生成一个一次性重置密码链接和对应的验证token, 然后发送邮件给用户

# login_required的使用
@login_required
def dashboard(request):
    return render(request, "account/dashboard.html")

urls.py里的

from django.urls import path
from account.views import *

from django.contrib.auth import views
# views.LogoutView.as_view(), views.LoginView.as_view() 需要新建一个registration文件夹,然后重新内置文件,文件的名字按内置的名字起,也可以重写
# settings里配置
"""
LOGIN_REDIRECT_URL = "dashboard"  # 如果没有指定next参数,登录成功之后重定向的url
LOGIN_URL = "login"  # 用户需要登录的情况下,被重定向的url
LOGOUT_URL = "logout"
"""


urlpatterns = [
    # path("login/", user_login, name="login"),
    path("login/", views.LoginView.as_view(), name="login"),
    path("logout/", views.LogoutView.as_view(), name="logout"),
    path("", dashboard, name="dashboard")
]
在app里新建一个forms.py文件
from django import forms


class LoginForm(forms.Form):
    username = forms.CharField()
    password = forms.CharField(widget=forms.PasswordInput)

 

<think>好的,用户想了解Django项目常用命令列表及使用说明。首先,我需要回忆Django常用的命令,并参考提供的引用资料来确保准确性。 根据引用[1]提到,Django遵循DRY原则,常用命令对管理项目很重要。比如创建项目的命令应该是startproject,这应该是基础。然后引用[3]中提到了startapp命令,用于创建应用,例如python manage.py startapp student。所以这两个命令必须包含在内。 接下来是运行开发服务器,通常使用runserver,如python manage.py runserver,这应该是用户经常用到的。引用[2]提到了shell命令,用于启动交互式环境,这也需要加入列表。 数据库相关的迁移命令,比如makemigrations和migrate,是Django处理模型变更的重要步骤,必须详细说明。此外,createsuperuser用于创建管理员账户,这也是常见的命令。 还有其他可能用到的命令,比如check用于检查项目错误,collectstatic用于静态文件收集,test用于运行测试。引用[4]中提到了模板配置,虽然不直接关联命令,但可能用户需要了解如何配置,不过这里主要关注命令。 需要确保每个命令都有使用示例和说明,参考引用中的格式,比如startapp的示例在引用[3]。同时,要注意用户可能需要命令的具体参数或选项,例如runserver的指定端口,但用户问题主要是常用命令列表,所以可能不需要深入参数细节。 最后,生成相关问题,考虑用户可能的后续疑问,比如如何自定义命令、迁移问题处理、环境变量配置等。确保问题相关且有帮助。</think>### Django 项目常用命令列表及使用说明 以下是 Django 项目开发中高频使用的命令及其详细说明: --- #### 1. **创建项目** ```bash django-admin startproject 项目名称 ``` - **功能**:初始化一个 Django 项目框架,生成基础目录结构和配置文件。 - **示例**:`django-admin startproject mysite` 生成包含 `manage.py` 和 `mysite/` 目录的项目结构[^1]。 --- #### 2. **启动开发服务器** ```bash python manage.py runserver [端口号] ``` - **功能**:启动本地开发服务器,默认端口为 `8000`。 - **示例**:`python manage.py runserver 8080` 通过 `http://localhost:8080` 访问实时更新的开发环境[^1]。 --- #### 3. **创建新应用** ```bash python manage.py startapp 应用名称 ``` - **功能**:在项目中生成一个独立应用模块(如用户管理、文章系统)。 - **示例**:`python manage.py startapp student` 生成 `student/` 目录,包含 `models.py`、`views.py` 等文件[^3]。 --- #### 4. **数据库迁移** ```bash python manage.py makemigrations # 生成迁移文件 python manage.py migrate # 应用迁移至数据库 ``` - **功能**:同步模型(`models.py`)与数据库结构。 - **说明**:修改模型后需依次执行这两条命令,确保数据库表结构更新。 --- #### 5. **进入交互式 Shell** ```bash python manage.py shell ``` - **功能**:启动带有 Django 项目环境的 Python Shell,便于直接操作 ORM 或调试数据。 - **示例**:在 Shell 中测试模型查询: ```python from student.models import Student Student.objects.all() ```[^2] --- #### 6. **创建管理员账号** ```bash python manage.py createsuperuser ``` - **功能**:为 Django 后台管理系统生成管理员账户。 - **流程**:按提示输入用户名、邮箱和密码,通过 `/admin` 路径登录后台。 --- #### 7. **检查项目配置** ```bash python manage.py check ``` - **功能**:验证项目设置是否存在语法或逻辑错误,如 URL 配置冲突、模型字段定义错误等。 --- #### 8. **收集静态文件** ```bash python manage.py collectstatic ``` - **功能**:将各应用的静态文件(CSS、JS、图片)统一收集到 `STATIC_ROOT` 目录,用于生产环境部署[^4]。 --- #### 9. **运行单元测试** ```bash python manage.py test [应用名称] ``` - **功能**:执行项目或指定应用的单元测试,验证代码逻辑是否正常。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值