Djangoの01プロジェクトを作成するには(Windows)

著作権:任意、https://blog.csdn.net/qq_32662595/article/details/85251608を播種!
  1. 仮想環境の作成
    インストールvirtualenvのを:pip install virtualenv
    問題が発生することがあります。
	 ImportError: cannot import name 'main'
	 python提示AttributeError: 
	 'NoneType' object has no attribute 'append'
	 
	 解决方法: pip install https://github.com/pyinstaller/pyinstaller/tarball/develop
  1. 仮想環境下でプロジェクトディレクトリを作成します。
    virtualenv image
  1. アクティベーション
    スクリプトに新しい-ENVディレクトリをフォルダに、ディレクトリの下の窓は、ファイルが、実行するかを見ることができますactivate
activate
  1. プロジェクトを作成します。

     django-admin startproject dj01
    

問題が発生した場合は- > こちら

结构如下-》

dj01/  --项目根目录是一个容器
    manage.py      一个命令行实用程序,可以让你与这个Django项目以不同的方式进行交互
    dj01/              实际Python包为您的项目
        __init__.py   一个空文件,告诉Python这个目录应该考虑一个Python包
        settings.py   Django projec配置
        urls.py       Django projec URL声明
        wsgi.py       WSGI-compatible web服务器的一个入口点为您的项目

次のコマンド(デフォルトポート8000​​)を実行します。

python manage.py runserver 

或  python manage.py runserver 8080

結果:
ここに画像を挿入説明

  1. アプリの投票ではない名前を作成します。

     python manage.py startapp polls
    

    次のようにプロジェクトが構成されています。
    個別の項目の調査として独立することができ

  2. コンフィギュレーションデータベースの
    情報の次のフィールドに置き換えDJ01 / settings.py:

    データフィールド
    defaultデータベース接続の設定が一致するプロジェクト
    ENGINE[「django.db.backends.sqlite3」、「django.db.backends.postgresql」することができ 、「django.db.backends.mysql」、または「django.db.backends.oracle 「] 1。または(これはデータドライバのJavaに似ている)他
    NAME(sqlite3ののos.path.joinを使用して(BASE_DIR、データベース名」db.sqlite3「) 、)
    USERデータベースユーザ名
    PASSWORDデータベースのパスワード
    HOSTデータベースのホストアドレス

  3. INSTALLED_APPS

    INSTALLED_APPSには、ファイルの一番下に設定します。これは、現在のすべてのDjango Djangoアプリケーションのインスタンスが起動され保存されます。各アプリケーションは、複数のプロジェクトで使用することができ、あなたは自分のプロジェクトで使用するために他の人にそれをパッケージ化して配布することができます。

    django.contrib.auth -認証システム。
    django.contrib.contenttypes -コンテンツタイプフレームワーク。
    django.contrib.sessions -セッションフレームワーク。
    django.contrib.sites -サイト管理フレームワーク。
    django.contrib.messages -メッセージフレーム。
    django.contrib.staticfiles -静的なファイル管理フレームワーク。

	python manage.py migrate
		该命令参照settings.py 文件 `INSTALLED_APPS` 所配置的数据库中创建必要的数据库表。每创建一个数据库表你都会看到一条消息,接着你会看到一个提示询问你是否想要在身份验证系统内创建个超级用户。
  1. モデルの作成
 	from django.db import models  
    	class Question(models.Model):
        	question_text = models.CharField(max_length=200)
        	pub_date = models.DateTimeField('date published')
    
    
    	class Choice(models.Model):
    		# ForeignKey
        	question = models.ForeignKey(Question, on_delete=models.CASCADE)
        	choice_text = models.CharField(max_length=200)
        	votes = models.IntegerField(default=0)
  1. 世論調査はDJ01 / settings.py / INSTALLED_APPSに追加されました
    ここに画像を挿入説明

次のコマンドを実行します。モデルの変更は、すでにDjangoはあなたが既存のビューを更新したい知っているように、Djangoに語りました。

python manage.py makemigrations polls

結果 -

Migrations for 'polls':
  polls/migrations/0001_initial.py:
    - Create model Choice
    - Create model Question
    - Add field question to choice

その後、我々は、生成されたデータベーステーブル、および詳細なSQL文が表示されます、次のコマンドを実行します。

python manage.py sqlmigrate polls 0001
BEGIN;
--
-- Create model Choice
--
CREATE TABLE "polls_choice" (
    "id" serial NOT NULL PRIMARY KEY,
    "choice_text" varchar(200) NOT NULL,
    "votes" integer NOT NULL
);
--
-- Create model Question
--
CREATE TABLE "polls_question" (
    "id" serial NOT NULL PRIMARY KEY,
    "question_text" varchar(200) NOT NULL,
    "pub_date" timestamp with time zone NOT NULL
);
--
-- Add field question to choice
--
ALTER TABLE "polls_choice" ADD COLUMN "question_id" integer NOT NULL;
ALTER TABLE "polls_choice" ALTER COLUMN "question_id" DROP DEFAULT;
CREATE INDEX "polls_choice_7aa0f6ee" ON "polls_choice" ("question_id");
ALTER TABLE "polls_choice"
  ADD CONSTRAINT "polls_choice_question_id_246c99a640fbbd72_fk_polls_question_id"
    FOREIGN KEY ("question_id")
    REFERENCES "polls_question" ("id")
    DEFERRABLE INITIALLY DEFERRED;

COMMIT;

テーブルのためのデータモデルを作成するには、次のコマンドを実行します。

python manage.py migrate
  1. シェルAPI
    、同じディレクトリmanage.pyで実行されるpython manage.py shellシェル・コマンド・インタフェースには、
    モデル操作であってもよいです。

    # Import the model classes we just wrote.
    >>> from polls.models import Question, Choice   
    # No questions are in the system yet.
    >>> Question.objects.all()
    	<QuerySet []>
    # Create a new Question.
    # Support for time zones is enabled in the default settings file, so
    # Django expects a datetime with tzinfo for pub_date. Use 				 		timezone.now()
    # instead of datetime.datetime.now() and it will do the right thing.
    >>> from django.utils import timezone
    >>> q = Question(question_text="What's new?", 				
    >>>pub_date=timezone.now())
    
    # Save the object into the database. You have to call save() explicitly.
    >>> q.save()
    
    # Now it has an ID. Note that this might say "1L" instead of "1", depending
    # on which database you're using. That's no biggie; it just means your
    # database backend prefers to return integers as Python long integer
    # objects.
    >>> q.id
    	1
    
    # Access model field values via Python attributes.
    >>> q.question_text
    "What's new?"
    >>> q.pub_date
    datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)
    
    # Change values by changing the attributes, then calling save().
    >>> q.question_text = "What's up?"
    >>> q.save()
    
    # objects.all() displays all the questions in the database.
    >>> Question.objects.all()
    <QuerySet [<Question: Question object>]>
    
    1. Djangoの管理

      スーパー管理者を作成します。

			执行第一个命令,根据提示完成超级管理员的创建
			 python manage.py createsuperuser
			
			执行以下命令,启动项目
		 	python manage.py runserver
	
			然后在在浏览器访问127.0.0.1:8000(根据自己设置的ip和端口访问),将出现以下页面

ここに画像を挿入説明
以下のページにアクセスするためのユーザー名とパスワードを作成するための手順を入力します。
管理ページ

ページを入力する最初の時間は、世論調査のラベルを存在しないために、admin.pyはPOLLSタブバーを表示するには、ページをリフレッシュするために、次のコードを追加します。

admin.site.register(Poll)

GIT元アドレス:https://gitee.com/UniQue006/django_mysite.git

おすすめ

転載: blog.csdn.net/qq_32662595/article/details/85251608