我已经完成了所有其他答案,但似乎无法为我提供任何帮助。我正在学习教程并尝试将我的master
分支推送到 heroku 并得到错误You're using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path
。我正在使用 Django 2.0 和 python 3.6.3。完整的追溯:
remote: -----> $ python manage.py collectstatic --noinput
remote: Traceback (most recent call last):
remote: File "manage.py", line 15, in <module>
remote: execute_from_command_line(sys.argv)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 371, in execute_from_command_line
remote: utility.execute()
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/__init__.py", line 365, in execute
remote: self.fetch_command(subcommand).run_from_argv(self.argv)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/base.py", line 288, in run_from_argv
remote: self.execute(*args, **cmd_options)
remote: File "/app/.heroku/python/lib/python3.6/site-packages/django/core/management/base.py", line …
Run Code Online (Sandbox Code Playgroud) 我有一个视图create_rating
,在我提交表单后,我希望它在视图上处理rating_upload
,然后我想重定向回到create_rating
视图.似乎无法使用它,我的最新代码如下.我想当我点击它应发送到submit
的create-rating
页面时,我可以将其作为参数发回.文档也显示了这一点.我尝试了几件事最新的错误就是我所展示的......video_id
rating_upload
create_rating
网址:
urlpatterns = [
url(r'^upload', UploadVideo.as_view(), name='upload'),
url(r'^(?P<pk>[0-9]+)/$', VideoView.as_view(), name='videoview'),
url(r'^(?P<video_id>\d+)/create_rating', create_rating, name='create_rating'),
url(r'^(?P<video_id>\d+)/rating_upload', rating_upload, name='rating_upload'),
url(r'^(?P<video_id>\d+)/rating_uploaded', rating_upload, name='rating_upload')
]
Run Code Online (Sandbox Code Playgroud)
观点:
def create_rating(request, video_id):
vid = get_object_or_404(Video, pk=video_id)
past_ratings = vid.rating.order_by('date_created')[:5]
template = loader.get_template('create_rating.html')
context = {
'vid': vid, 'past_ratings': past_ratings
}
return HttpResponse(template.render(context, request))
def rating_upload(request, video_id):
template = loader.get_template('rating_upload.html')
rated_video = Video.objects.get(pk=video_id)
context = {
'rated_video': rated_video
}
return HttpResponseRedirect(reverse('create_rating', video_id))
Run Code Online (Sandbox Code Playgroud)
模板,create_rating.html
: …
我想获取一个特定的Video
对象,然后Rating
使用 ForeignKey 反向查找找到与其关联的所有对象,如文档中所述。
我有模型:
class Video(models.Model):
...
rating_int = models.IntegerField(default=1, choices=CHOICES, name='rating_int')
def __str__(self):
return self.title
class Rating(models.Model):
video = models.ForeignKey('Video', related_name='video', null=True)
Run Code Online (Sandbox Code Playgroud)
和意见:
def video_ratings(request):
vid_rate = Video.objects.get(pk=1)
ratings_of_video = vid_rate.rating_set.all()
context = {
'vid_rate': vid_rate, 'ratings_video': ratings_of_video
}
return HttpResponse(template.render(context, request))
Run Code Online (Sandbox Code Playgroud)
当我尝试运行此程序时出现错误 'Video' object has no attribute 'rating_set'
但是当我阅读 django 文档时,它告诉我当你进行反向查找时你需要使用这个_set.all()
命令。我不确定这里缺少什么。
我无法摆脱下面的错误。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install mysql
mysql.server start
给出错误:ERROR! The server quit without updating PID file (/usr/local/var/mysql/
用户名.lan.pid).
我尝试过的一些事情:
ps -ef | grep mysql
输出:
501 1196 1172 0 9:08PM ttys000 0:00.00 grep mysql
然后我尝试用kill -9 1172
. 这只是说,Process Complete
但随后一个新进程开始运行。不确定这是否与它有关。
我曾经sudo chown -R mysql /usr/local/var/mysql/
改变所有权并尝试再次运行但没有运气。
我试过从目录中运行它,但Macintosh HD? ? ?usr? ? ?local? ? ?mysql-8.0.14-macos10.14-x86_64
没有运气。
我试过删除错误日志并重新运行。
我刚刚将我的 Mac 更新到 Mojave 10.14.3 没有运气。
我试过卸载并重新安装mysql。
我尝试通过下载链接而不是安装 mysql brew install
我试着做unset …
所以我认为这不是做事情的正确方法,但是我正在尝试学习Django,并且正在尝试一些事情。我试图Formula
通过在的实例中进行硬编码来为模型设置外键maker
。
楷模:
class Cooker(models.Model):
name = models.CharField(max_length=20, name="name")
background = models.CharField(max_length=500, name="background")
class Formula(models.Model):
food = models.CharField(max_length=200, name="food")
maker = models.ForeignKey(Cooker, related_name="cooker_key")
Run Code Online (Sandbox Code Playgroud)
观看次数
class CookerCreate(CreateView):
template_name = "cookercreate.html"
model = Cooker
fields = ['name','background']
success_url = reverse_lazy('cooker')
class FormulaCreate(CreateView):
template_name = "formulahome.html"
model = Formula
fields = ['food']
success_url = reverse_lazy('formulahome')
def form_valid(self, form):
self.object = form.save(commit = False)
self.object.maker = Cooker.objects.get(pk=1)
form.save()
return reverse_lazy('formula home')
Run Code Online (Sandbox Code Playgroud)
在FormulaCreate
我要设置的类中self.object.maker
,我只想对Cooker
已经创建的a进行硬编码。谢谢
编辑:当我尝试提交表单时,我FormulaCreate(CreateView)
得到了错误 …
django ×4
python ×3
django-views ×1
foreign-keys ×1
heroku ×1
homebrew ×1
httpresponse ×1
macos ×1
mysql ×1
redirect ×1
reverse ×1