一般的なコマンドをジャンゴと完全なプロジェクトのジャンゴを作成

著作権:同意なしブロガー、転載を禁止します。ありがとうございます!https://blog.csdn.net/cp_123321/article/details/86513442

1.スイッチ仮想環境

Pycharmは、ターミナルを開いて、環境をDjangoのない場合は、CD環境をジャンゴする必要があり、活性化入力環境をアクティブに

2. Djangoプロジェクトを作成します。

(この方法で作成したプロジェクトは、あなたがパス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

ジャンゴでコマンドブロックがあり、唯一のコマンドを入力する必要があり、あなたは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)

 

おすすめ

転載: blog.csdn.net/cp_123321/article/details/86513442