赞
踩
运行命令
Django会以
127.0.0.1:8000
这个默认配置启动开发服务器neo4j.bat console 开启noe4j
python manage.py runserver
django-admin startproject mysite
Django中,一个应用就是一个包
- python manage.py startapp 包名
-
- # python manage.py startapp polls
polls/views.py
创建一个视图,也就是具体的业务代码
- from django.http import HttpResponse
-
- def index(request):
- return HttpResponse("这里是liujiangblog.com的投票站点")
为了调用该视图,我们还需要编写urlconf,也就是路由配置。
在polls目录中新建一个文件,名字为
urls.py
- from django.urls import path
-
- from . import views
-
- urlpatterns = [
- path('', views.index, name='index'),
- ]
需要在主urls.py文件也进行一个注册,添加urlpattern
条目,指向我们刚才建立的polls这个app独有的urls.py文件,这里需要导入include模块。
- from django.contrib import admin
- from django.urls import include, path
-
- urlpatterns = [
- path('polls/', include('polls.urls')),
- path('admin/', admin.site.urls),
- ]
定义模型model,模型本质上就是数据库表的布局,再附加一些元数据。
- # polls.py/model.py
-
- 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):
- question = models.ForeignKey(Question, on_delete=models.CASCADE)
- choice_text = models.CharField(max_length=200)
- votes = models.IntegerField(default=0)
需要在外层大目录 即 mysite/setting.py文件中 INSTALLED_APPS
设置中增加指向该应用的配置文件的链接。
配置类文件PollsConfig
位于polls/apps.py
脚本,配置的点式路径应为polls.apps.PollsConfig,因此需要在
INSTALLED_APPS
中将点式路径写入
- INSTALLED_APPS = [
- 'polls.apps.PollsConfig',
-
- # 以下六个是默认就存在的
- 'django.contrib.admin',
- 'django.contrib.auth',
- 'django.contrib.contenttypes',
- 'django.contrib.sessions',
- 'django.contrib.messages',
- 'django.contrib.staticfiles',
- ]
终端运行代码
运行makemigrations
命令,把模型的改动保存为一个迁移
python manage.py makemigrations polls
将对模型的修改体现在数据库表中
【在mysite的大路径下】
python manage.py migrate
修改模型时的操作分三步:
python manage.py makemigrations
为改动创建迁移记录文件;python manage.py migrate
,将操作同步到数据库。python manage.py shell
调用
manage.py
参数能将DJANGO_SETTINGS_MODULE
环境变量导入,它将自动按照mysite/settings.py
中的设置,配置好你的python shell环境,这样,你就可以导入和调用任何你项目内的模块了。
- >>> from polls.models import Question, Choice # 导入我们写的模型类
-
-
- # 现在系统内还没有questions对象
- >>> Question.objects.all()
- <QuerySet []>
-
-
- # 创建一个新的question对象
- # Django推荐使用timezone.now()代替python内置的datetime.datetime.now()
- # 这个timezone就来自于Django的依赖库pytz
- from django.utils import timezone
- >>> q = Question(question_text="What's new?", pub_date=timezone.now())
-
- # 你必须显式的调用save()方法,才能将对象保存到数据库内
- >>> q.save()
-
- # 默认情况,你会自动获得一个自增的名为id的主键
- >>> q.id
- 1
-
- # 通过python的属性调用方式,访问模型字段的值
- >>> q.question_text
- "What's new?"
- >>> q.pub_date
- datetime.datetime(2012, 2, 26, 13, 0, 0, 775217, tzinfo=<UTC>)
-
- # 通过修改属性来修改字段的值,然后显式的调用save方法进行保存。
- >>> q.question_text = "What's up?"
- >>> q.save()
-
- # objects.all() 用于查询数据库内的所有questions
- >>> Question.objects.all()
- <QuerySet [<Question: Question object>]>
创建可登录站点的用户,输入用户名和密码
python manage.py createsuperuser
现在还无法看到投票应用,必须先在admin中进行注册,告诉admin站点,请将polls的模型加入站点内,接受站点的管理。(在polls/admin.py)
- from django.contrib import admin
- from .models import Question
-
- admin.site.register(Question)
- # polls/views.py文件
-
- # 注意函数的参数
- def detail(request, question_id):
- return HttpResponse("You're looking at question %s." % question_id)
-
- def results(request, question_id):
- response = "You're looking at the results of question %s."
- return HttpResponse(response % question_id)
-
- def vote(request, question_id):
- return HttpResponse("You're voting on question %s." % question_id)
去注册路径
- # polls/urls.py
-
- from django.urls import path
-
- from . import views
-
- urlpatterns = [
- # 例如: /polls/
- path('', views.index, name='index'),
-
- # 例如: /polls/5/
- path('<int:question_id>/', views.detail, name='detail'),
-
- # 例如: /polls/5/results/
- path('<int:question_id>/results/', views.results, name='results'),
-
- # 例如: /polls/5/vote/
- path('<int:question_id>/vote/', views.vote, name='vote'),
- ]
RuntimeError
AssertionError
或者提示(name='neo4j')有问题的,基本都是版本不匹配
先卸载当前版本
pip uninstall py2neo
再下载2021.2.3版本的
(配置过国内源会更快一些,没配置的在后面加 -i Simple Index)
pip install py2neo==2021.2.3
ValueError:The following settings are not supported :{‘username‘: ‘neo4j“}
等问题都有可能是不匹配
neo4j无法连接?报错?可能是因为语法和版本不匹配!!!!!!
graph = Graph('http://localhost:7474', username='neo4j', password='neo4j的密码')
graph = Graph('http://localhost:7474', user='neo4j', password='neo4j的密码', name='neo4j')
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。