일반적인 명령을 장고와 완벽한 프로젝트 장고를 만들

저작권 : 동의없이 블로거, 무단 전재를 금지합니다. 감사합니다! https://blog.csdn.net/cp_123321/article/details/86513442

1. 스위치 가상 환경

환경을 장고하지 않을 경우 터미널을 열 Pycharm, CD 환경을 장고해야하고, 활성화 입력 환경을 활성화

2. 장고 프로젝트를 만듭니다

(이렇게 만든 프로젝트, 당신은 경로 settings.py를 HTML 파일을 저장하는 데 사용되는 프로젝트 템플릿 폴더에 파일을 생성하고 설정해야합니다)

python manage.py startproject 项目名称

settings.py에서 설정

 

만들기 응용 프로그램

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

기록 된 데이터 모델 (models.py) 후 3. 데이터 마이그레이션 파일을 생성

python manage.py makemigrations
python manage.py migrate

4. 단말기에 데이터를 추가

장고에서 자신의 환경을 확인하려면

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

장고의 명령 블록이 있습니다 만 명령을 입력 할 필요가, 당신은 파이썬 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)

 

추천

출처blog.csdn.net/cp_123321/article/details/86513442