我有一个重写的用户模型和购物车模型.我希望在创建User模型实例后自动创建Cart模型实例.我试图将新注册的用户传递给get_queryset方法,但不知道如何做到这一点.还有其他更好的方法吗?这是因为我可能需要为其他模型做同样的事情,而不像User模型有一个可以将值传递给get_queryset方法的形式.
帐户/ models.py:
class Cart(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, null=True)
def __str__(self):
return self.user.email + '_cart'
Run Code Online (Sandbox Code Playgroud)
帐户/ views.py:
class RegisterView(generic.CreateView):
template_name = 'account/register.html'
form_class = RegisterForm
success_url = reverse_lazy('book:home')
def get_queryset(self):
sign_up = self.request.POST.get('register')
if sign_up:
c = Cart.objects.create(user=???)
c.save()
Run Code Online (Sandbox Code Playgroud)
帐户/模板/帐号/ register.html:
<form name="register" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Sign Up">
</form>
Run Code Online (Sandbox Code Playgroud) 我正在写一个返回字符串的函数。但是发生了一些奇怪的事情。result字符串的输出从控制台打印为意外内容。
根据机器(测试),它会变成中文或其他名称或空字符串。但这仅在输入字符串超长时发生。它通常适用于较小的字符串。
有没有更好的方法附加char到字符串?这是因为我怀疑问题是由我在字符串末尾添加字符的方式引起的。
从控制台
从调试器
main.cpp
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
bool checkPalindrome(string s)
{
return (s == std::string(s.rbegin(), s.rend()));
}
string longestPalindrome(string s)
{
if (s.size() > 1000 || s.empty())
return "";
string result = "";
string sub = "";
char* ptr = &sub[0];
for (int i = 0; i < s.length(); ++i) {
sub += s[i];
while (true) {
string temp = ptr;
if (checkPalindrome(temp)) {
ptr = …Run Code Online (Sandbox Code Playgroud) 我正在 Book 应用程序中构建 Django 模板,并使用 URL 标签重定向到 Account 应用程序的 URL。但它说account' is not a registered namespace。
书.url:
app_name = 'book'
urlpatterns = [
path('', views.HomePageView.as_view(), name='home'),
path('account/', include('account.urls', namespace='account'))
]
Run Code Online (Sandbox Code Playgroud)
书评:
class HomePageView(generic.TemplateView):
template_name = 'book/home.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['all_books'] = Book.objects.all()
return context
Run Code Online (Sandbox Code Playgroud)
模板/book/home.html:
<div id="register">
<p>
<a href="{% url 'account:register' %}"> Sign Up </a>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
帐户/网址:
app_name='account'
urlpatterns=(
path('register/', views.RegisterView.as_view(), name='register'),
path('successful/', views.successful_created, name='successful'),
)
Run Code Online (Sandbox Code Playgroud)