Python Pinax转介,如何从生成的转介链接中删除域名并将其连接到视图

Python Pinax转介,如何从生成的转介链接中删除域名并将其连接到视图,python,django,Python,Django,我正在处理pinax转介,将其与我的Django应用程序集成。到目前为止,我已经成功地为每个注册用户生成了推荐代码。我的问题是,当我输出为用户生成的那些引用链接时,它包含一个 http://example.com/referrals/iqtK4SBNWcE59TN2E2oCbRZcS4ui1sadtO8iHyB3/ 如何删除该域名(example.com)并将其替换为本地主机域的域名(127.0.0.1:8000) 同样从上面,我创建了一个视图,它欢迎使用推荐链接加入的用户。我希望视图显示推荐

我正在处理pinax转介,将其与我的Django应用程序集成。到目前为止,我已经成功地为每个注册用户生成了推荐代码。我的问题是,当我输出为用户生成的那些引用链接时,它包含一个

http://example.com/referrals/iqtK4SBNWcE59TN2E2oCbRZcS4ui1sadtO8iHyB3/
如何删除该域名(example.com)并将其替换为本地主机域的域名(127.0.0.1:8000)

同样从上面,我创建了一个视图,它欢迎使用推荐链接加入的用户。我希望视图显示推荐人的名称,类似于“欢迎,您已被{{{推荐人的用户名}}邀请”。但我有一个挑战,连接到我的欢迎意见,为被推荐的用户推荐链接。我曾试图搜索pinax推荐文档,但对于像我这样的新手来说,它并没有清晰地显示出来。有什么需要帮忙的吗

signals.py

from allauth.account.signals import user_signed_up
from .models import Profile
from pinax.referrals.models import Referral

@receiver(user_signed_up)
def save_profile(sender, **kwargs):
    request = kwargs['request'] 
    user = kwargs['user']
    print(user)


    referral = Referral.create(

        user = user,
        redirect_to = reverse("Home:afterlogin")

    )

    profile = Profile.objects.create(user= user, referral = referral)

    profile.save()
这可以很好地为每个用户分配唯一的推荐代码

views.py

class welcomeafterLoginView(LoginRequiredMixin,generic.ListView):
    model = Profile
    template_name = "refferal_page.html"

    def get_context_data(self, **kwargs):
        # Call the base implementation first to get the context
        context = super(welcomeafterLoginView, self).get_context_data(**kwargs)
        # Create any data and add it to the context
        referral_code =Profile.objects.get(user = self.request.user)
        context['referral_code'] = referral_code
        return context
参考页面.html

{{referral_code.referral.url }}
此代码输出以下内容:

我如何摆脱这个“example.com”。并将其分配给站点域,即localhost(127.0.0.1:8000)


还有,我如何将生成的代码连接到一个视图,当点击tweeted refferal时,它返回视图,并说:“欢迎,您已被{{Refferer的用户名}}}邀请”

感谢您使用Pinax

在引用URL的域名上。 Pinax referrals从包含Django项目的当前站点构造引用URL

在项目中使用Django sites框架时,在运行第一次迁移时,Django使用域
example.com
创建一个名为
example.com
的默认站点,并将其保存到数据库中

因此,当您在设置文件中设置
SITE_ID=1
时,您将此
example.com
站点声明为项目中的当前站点

使项目的当前站点指向您想要的站点的一种方法是使用正确的域和名称创建站点对象,并将设置文件中的
site\u ID
设置指向此站点对象的ID

通过以下方式确认项目的当前站点:

>>来自django.contrib.sites.models导入站点
>>>Site.objects.get_current()
要更改此设置,可以创建自定义站点对象,记下其id,并将设置文件中的
site\u id
设置指向此自定义站点对象的id

>>s=Site.objects.create(domain=“not example.com”,name=“not example.com”)
>>>身份证
2#可能是别的
记住将设置文件中的
站点ID
设置指向此站点对象的ID。

Runserver(如果当前正在运行)将重新加载设置文件,项目的当前站点现在将指向相应的站点

现在,您的引用对象的URL将具有正确的域名

在一个视图中获取推荐人 推荐人在推荐对象的
user
属性中可用,因此如果您已经有了推荐对象,您可以构造您正在寻找的漂亮句子:)