我试图将我的脚本分成几个带有函数的文件,因此我将一些函数移动到单独的文件中,并希望将它们导入到一个主文件中.结构是:
core/
main.py
posts_run.py
Run Code Online (Sandbox Code Playgroud)
posts_run.py有两个功能,get_all_posts并且retrieve_posts,所以我尝试导入get_all_posts具有:
from posts_run import get_all_posts
Run Code Online (Sandbox Code Playgroud)
Python 3.5给出了错误:
ImportError: cannot import name 'get_all_posts'
Run Code Online (Sandbox Code Playgroud)
Main.py包含以下代码行:
import vk
from configs import client_id, login, password
session = vk.AuthSession(scope='wall,friends,photos,status,groups,offline,messages', app_id=client_id, user_login=login,
user_password=password)
api = vk.API(session)
Run Code Online (Sandbox Code Playgroud)
然后我需要将api导入函数,所以我有能力获得对vk的API调用.
完整堆栈跟踪
Traceback (most recent call last):
File "E:/gited/vkscrap/core/main.py", line 26, in <module>
from posts_run import get_all_posts
File "E:\gited\vkscrap\core\posts_run.py", line 7, in <module>
from main import api, absolute_url, fullname
File "E:\gited\vkscrap\core\main.py", line 26, in <module>
from posts_run import get_all_posts …Run Code Online (Sandbox Code Playgroud) class StudentCreateView(CreateView):
model = Student
template_name = "students/students_edit.html"
form_class = StudentCreateForm
def get_success_url(self):
return u'%s?status_message=??????? ??????? ?????????' % reverse('home')
def post(self, request, *arg, **kwargs):
if request.POST.get('cancel_button'):
messages.info(self.request, u"????????? ?????????")
return HttpResponseRedirect(
u'%s?status_message=????????? ?????????'
% reverse('home'))
else:
messages.success(self.request, u"??????? ??????? ?????????")
return super(StudentCreateView, self).post(
request,*arg, **kwargs)
def get_context_data(self, **kwargs):
context = super(StudentCreateView, self).get_context_data(**kwargs)
context['meta'] = u'????????? ????????'
context['headtext'] = context['meta']
return context
Run Code Online (Sandbox Code Playgroud)
在此视图中,如果单击取消按钮,我会检查发布功能
self.helper.layout[-1] = FormActions(
Submit('add_button',u'????????', css_class='btn btn-primary'),
Submit('cancel_button', u'?????????'),
)
Run Code Online (Sandbox Code Playgroud)
只有在 createview 提交取消不能正常工作。单击它会尝试检查表单,当我想取消时,它会回答我以解决表单上的所有问题。我已将提交更改为按钮,按钮取消根本不起作用。我在 stackoverflow 上发现了一个变体,将 onclick 方法添加到按钮,但它不适合我(当我在重定向窗口信息消息上取消或发布表单时,它告诉我发布或取消的状态。所以当我尝试 onclick 方法时,它推送了过去的页面,所以没有显示信息消息。如何修复 …
forms django model-view-controller views django-crispy-forms